]> git.argeo.org Git - cc0/argeo-build.git/blobdiff - src/org/argeo/build/Make.java
Adapt to changes in Argeo TP Build
[cc0/argeo-build.git] / src / org / argeo / build / Make.java
index 4d9caf93145e8bc717bf90c415519896a9cf174b..97318ab610d5abc44caa4e7df77c9ad7d37d6b31 100644 (file)
@@ -77,19 +77,17 @@ public class Make {
        final Path buildBase;
        /** The base of the a2 output for all layers. */
        final Path a2Output;
+       /** The base of the a2 sources when packages separately. */
+       final Path a2srcOutput;
 
        /** Whether sources should be packaged separately */
        final boolean sourceBundles;
 
        /** Constructor initialises the base directories. */
        public Make() throws IOException {
-               if (System.getenv(ENV_BUILD_SOURCE_BUNDLES) != null) {
-                       sourceBundles = Boolean.parseBoolean(System.getenv(ENV_BUILD_SOURCE_BUNDLES));
-                       if (sourceBundles)
-                               logger.log(Level.INFO, "Sources will be packaged separately");
-               } else {
-                       sourceBundles = true;
-               }
+               sourceBundles = Boolean.parseBoolean(System.getenv(ENV_BUILD_SOURCE_BUNDLES));
+               if (sourceBundles)
+                       logger.log(Level.INFO, "Sources will be packaged separately");
 
                execDirectory = Paths.get(System.getProperty("user.dir"));
                Path sdkMkP = findSdkMk(execDirectory);
@@ -106,6 +104,7 @@ public class Make {
                })).toAbsolutePath();
                buildBase = sdkBuildBase.resolve(sdkSrcBase.getFileName());
                a2Output = sdkBuildBase.resolve("a2");
+               a2srcOutput = sdkBuildBase.resolve("a2.src");
        }
 
        /*
@@ -356,7 +355,11 @@ public class Make {
                        // TODO add effective BND, Eclipse project file, etc., in order to be able to
                        // repackage
                        if (sourceBundles) {
-                               Path srcJarP = a2JarDirectory.resolve(compiled.getFileName() + "." + major + "." + minor + ".src.jar");
+                               Path a2srcJarDirectory = bundleParent != null ? a2srcOutput.resolve(bundleParent).resolve(category)
+                                               : a2srcOutput.resolve(category);
+                               Files.createDirectories(a2srcJarDirectory);
+                               Path srcJarP = a2srcJarDirectory
+                                               .resolve(compiled.getFileName() + "." + major + "." + minor + ".src.jar");
                                Manifest srcManifest = new Manifest();
                                srcManifest.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION, "1.0");
                                srcManifest.getMainAttributes().putValue("Bundle-SymbolicName", bundleSymbolicName + ".src");