public void setupOutput(JpsModule rootModel, final String path) { final JpsJavaModuleExtension extension = getService().getOrCreateModuleExtension(rootModel); String outputUrl = pathToUrl(path); extension.setOutputUrl(outputUrl); extension.setTestOutputUrl(outputUrl); // extension.setInheritOutput(false); rootModel.getDependenciesList().addModuleSourceDependency(); }
private static void saveJavaModuleExtension(JpsModule module, Element rootModelComponent) { JpsJavaModuleExtension extension = getService().getModuleExtension(module); if (extension == null) return; if (extension.isExcludeOutput()) { rootModelComponent.addContent(0, new Element(EXCLUDE_OUTPUT_TAG)); } String testOutputUrl = extension.getTestOutputUrl(); if (testOutputUrl != null) { rootModelComponent.addContent( 0, new Element(TEST_OUTPUT_TAG).setAttribute(URL_ATTRIBUTE, testOutputUrl)); } String outputUrl = extension.getOutputUrl(); if (outputUrl != null) { rootModelComponent.addContent( 0, new Element(OUTPUT_TAG).setAttribute(URL_ATTRIBUTE, outputUrl)); } LanguageLevel languageLevel = extension.getLanguageLevel(); if (languageLevel != null) { rootModelComponent.setAttribute(MODULE_LANGUAGE_LEVEL_ATTRIBUTE, languageLevel.name()); } rootModelComponent.setAttribute( INHERIT_COMPILER_OUTPUT_ATTRIBUTE, String.valueOf(extension.isInheritOutput())); saveAdditionalRoots(rootModelComponent, JAVADOC_PATHS_TAG, extension.getJavadocRoots()); saveAdditionalRoots(rootModelComponent, ANNOTATION_PATHS_TAG, extension.getAnnotationRoots()); }
private static void loadJavaModuleExtension(JpsModule module, Element rootModelComponent) { final JpsJavaModuleExtension extension = getService().getOrCreateModuleExtension(module); final Element outputTag = rootModelComponent.getChild(OUTPUT_TAG); if (outputTag != null) { extension.setOutputUrl(outputTag.getAttributeValue(URL_ATTRIBUTE)); } final Element testOutputTag = rootModelComponent.getChild(TEST_OUTPUT_TAG); if (testOutputTag != null) { extension.setTestOutputUrl(testOutputTag.getAttributeValue(URL_ATTRIBUTE)); } extension.setInheritOutput( Boolean.parseBoolean( rootModelComponent.getAttributeValue(INHERIT_COMPILER_OUTPUT_ATTRIBUTE))); extension.setExcludeOutput(rootModelComponent.getChild(EXCLUDE_OUTPUT_TAG) != null); final String languageLevel = rootModelComponent.getAttributeValue(MODULE_LANGUAGE_LEVEL_ATTRIBUTE); if (languageLevel != null) { extension.setLanguageLevel(LanguageLevel.valueOf(languageLevel)); } loadAdditionalRoots(rootModelComponent, ANNOTATION_PATHS_TAG, extension.getAnnotationRoots()); loadAdditionalRoots(rootModelComponent, JAVADOC_PATHS_TAG, extension.getJavadocRoots()); }
protected <T extends JpsElement> JpsModule addModule( String moduleName, String[] srcPaths, @Nullable String outputPath, @Nullable String testOutputPath, JpsSdk<T> sdk) { JpsModule module = myProject.addModule(moduleName, JpsJavaModuleType.INSTANCE); final JpsSdkType<T> sdkType = sdk.getSdkType(); final JpsSdkReferencesTable sdkTable = module.getSdkReferencesTable(); sdkTable.setSdkReference(sdkType, sdk.createReference()); if (sdkType instanceof JpsJavaSdkTypeWrapper) { final JpsSdkReference<T> wrapperRef = sdk.createReference(); sdkTable.setSdkReference( JpsJavaSdkType.INSTANCE, JpsJavaExtensionService.getInstance() .createWrappedJavaSdkReference((JpsJavaSdkTypeWrapper) sdkType, wrapperRef)); } module.getDependenciesList().addSdkDependency(sdkType); if (srcPaths.length > 0 || outputPath != null) { for (String srcPath : srcPaths) { module.getContentRootsList().addUrl(JpsPathUtil.pathToUrl(srcPath)); module.addSourceRoot(JpsPathUtil.pathToUrl(srcPath), JavaSourceRootType.SOURCE); } JpsJavaModuleExtension extension = JpsJavaExtensionService.getInstance().getOrCreateModuleExtension(module); if (outputPath != null) { extension.setOutputUrl(JpsPathUtil.pathToUrl(outputPath)); if (!StringUtil.isEmpty(testOutputPath)) { extension.setTestOutputUrl(JpsPathUtil.pathToUrl(testOutputPath)); } else { extension.setTestOutputUrl(extension.getOutputUrl()); } } else { extension.setInheritOutput(true); } } return module; }