147 return generateModuleCompiledClasses(src, classes, moduleName, getDefaultClasses(moduleName), dependencies);
148 }
149
150 public Path generateModuleCompiledClasses(
151 Path src, Path classes, String moduleName,
152 List<String> classNames, String... dependencies) throws IOException {
153 if (classNames == null) {
154 classNames = getDefaultClasses(moduleName);
155 }
156 putAppClasses(moduleName, classNames);
157 moduleDependencies.put(moduleName, Arrays.asList(dependencies));
158 String modulePath = defaultModulePath();
159 JImageGenerator.generateSourcesFromTemplate(src, moduleName, classNames.toArray(new String[classNames.size()]));
160 List<String> packages = classNames.stream()
161 .map(JImageGenerator::getPackageName)
162 .distinct()
163 .collect(Collectors.toList());
164 Path srcMod = src.resolve(moduleName);
165 JImageGenerator.generateModuleInfo(srcMod, packages, dependencies);
166 Path destination = classes.resolve(moduleName);
167 if (!JImageGenerator.compile(srcMod, destination, "-modulepath", modulePath, "-g")) {
168 throw new AssertionError("Compilation failure");
169 }
170 return destination;
171 }
172
173 public Result generateDefaultJModule(String moduleName, String... dependencies) throws IOException {
174 return generateDefaultJModule(moduleName, getDefaultClasses(moduleName), dependencies);
175 }
176
177 public Result generateDefaultJModule(String moduleName, List<String> classNames,
178 String... dependencies) throws IOException {
179 generateModuleCompiledClasses(jmodssrc, jmodsclasses, moduleName, classNames, dependencies);
180 generateGarbage(jmodsclasses.resolve(moduleName));
181
182 Path jmodFile = jmods.resolve(moduleName + ".jmod");
183 JModTask task = JImageGenerator.getJModTask()
184 .jmod(jmodFile)
185 .addJmods(stdjmods)
186 .addJmods(jmods.toAbsolutePath())
187 .addJars(jars.toAbsolutePath())
|
147 return generateModuleCompiledClasses(src, classes, moduleName, getDefaultClasses(moduleName), dependencies);
148 }
149
150 public Path generateModuleCompiledClasses(
151 Path src, Path classes, String moduleName,
152 List<String> classNames, String... dependencies) throws IOException {
153 if (classNames == null) {
154 classNames = getDefaultClasses(moduleName);
155 }
156 putAppClasses(moduleName, classNames);
157 moduleDependencies.put(moduleName, Arrays.asList(dependencies));
158 String modulePath = defaultModulePath();
159 JImageGenerator.generateSourcesFromTemplate(src, moduleName, classNames.toArray(new String[classNames.size()]));
160 List<String> packages = classNames.stream()
161 .map(JImageGenerator::getPackageName)
162 .distinct()
163 .collect(Collectors.toList());
164 Path srcMod = src.resolve(moduleName);
165 JImageGenerator.generateModuleInfo(srcMod, packages, dependencies);
166 Path destination = classes.resolve(moduleName);
167 if (!JImageGenerator.compile(srcMod, destination, "--module-path", modulePath, "-g")) {
168 throw new AssertionError("Compilation failure");
169 }
170 return destination;
171 }
172
173 public Result generateDefaultJModule(String moduleName, String... dependencies) throws IOException {
174 return generateDefaultJModule(moduleName, getDefaultClasses(moduleName), dependencies);
175 }
176
177 public Result generateDefaultJModule(String moduleName, List<String> classNames,
178 String... dependencies) throws IOException {
179 generateModuleCompiledClasses(jmodssrc, jmodsclasses, moduleName, classNames, dependencies);
180 generateGarbage(jmodsclasses.resolve(moduleName));
181
182 Path jmodFile = jmods.resolve(moduleName + ".jmod");
183 JModTask task = JImageGenerator.getJModTask()
184 .jmod(jmodFile)
185 .addJmods(stdjmods)
186 .addJmods(jmods.toAbsolutePath())
187 .addJars(jars.toAbsolutePath())
|