@NotNull @Override public List<PantsSourceRootDescriptor> computeRootDescriptors( final JpsModel model, final ModuleExcludeIndex index, final IgnoredFileIndex ignoredFileIndex, final BuildDataPaths dataPaths) { final Set<PantsSourceRootDescriptor> result = new HashSet<PantsSourceRootDescriptor>(); processJavaModuleTargets( model.getProject(), new Processor<ModuleBuildTarget>() { @Override public boolean process(ModuleBuildTarget target) { final JpsPantsModuleExtension moduleExtension = PantsJpsModelSerializerExtension.findPantsModuleExtension(target.getModule()); final Set<String> targetAddresses = moduleExtension != null ? moduleExtension.getTargetAddresses() : Collections.<String>emptySet(); final List<JavaSourceRootDescriptor> descriptors = target.computeRootDescriptors(model, index, ignoredFileIndex, dataPaths); for (JavaSourceRootDescriptor javaSourceRootDescriptor : descriptors) { result.add( new PantsSourceRootDescriptor( PantsBuildTarget.this, targetAddresses, javaSourceRootDescriptor.getRootFile(), javaSourceRootDescriptor.isGenerated(), javaSourceRootDescriptor.getExcludedRoots())); } return true; } }); return new ArrayList<PantsSourceRootDescriptor>(result); }
protected JpsSdk<JpsDummyElement> addJdk(final String name, final String path) { String homePath = System.getProperty("java.home"); String versionString = System.getProperty("java.version"); JpsTypedLibrary<JpsSdk<JpsDummyElement>> jdk = myModel.getGlobal().addSdk(name, homePath, versionString, JpsJavaSdkType.INSTANCE); jdk.addRoot(JpsPathUtil.pathToUrl(path), JpsOrderRootType.COMPILED); return jdk.getProperties(); }
public void exportModuleOutputProperties() { for (JpsModule module : myModel.getProject().getModules()) { for (boolean test : new boolean[] {true, false}) { myProject.setProperty( "module." + module.getName() + ".output." + (test ? "test" : "main"), getModuleOutput(module, test)); } } }
@Override protected void setUp() throws Exception { super.setUp(); myModel = JpsElementFactory.getInstance().createModel(); myProject = myModel.getProject(); myDataStorageRoot = FileUtil.createTempDirectory("compile-server-" + getProjectName(), null); myLogger = new TestProjectBuilderLogger(); myBuildParams = new HashMap<String, String>(); }
@NotNull @Override public List<AndroidProjectBuildTarget> computeAllTargets(@NotNull JpsModel model) { if (!AndroidJpsUtil.containsAndroidFacet(model.getProject())) { return Collections.emptyList(); } return Arrays.asList( new AndroidProjectBuildTarget(AndroidBuilderKind.DEX, model), new AndroidProjectBuildTarget(AndroidBuilderKind.PACKAGING, model)); }
@Override public Collection<BuildTarget<?>> computeDependencies() { List<BuildTarget<?>> result = new ArrayList<BuildTarget<?>>(); if (myKind == AndroidBuilderKind.PACKAGING) { result.add(new AndroidProjectBuildTarget(AndroidBuilderKind.DEX, myModel)); } for (JpsModule module : myModel.getProject().getModules()) { if (AndroidJpsUtil.getExtension(module) != null) { result.add(new ModuleBuildTarget(module, JavaModuleBuildTargetType.PRODUCTION)); } } return result; }
public void cleanOutput() { if (myDryRun) { info("Cleaning skipped as we're running dry"); return; } for (JpsModule module : myModel.getProject().getModules()) { for (boolean test : new boolean[] {false, true}) { File output = JpsJavaExtensionService.getInstance().getOutputDirectory(module, test); if (output != null) { FileUtil.delete(output); } } } }
public void setTargetFolder(String targetFolder) { String url = "file://" + FileUtil.toSystemIndependentName(targetFolder); JpsJavaExtensionService.getInstance() .getOrCreateProjectExtension(myModel.getProject()) .setOutputUrl(url); }