ClassPath createBuildSourceClasspath(final StartParameter startParameter) { assert startParameter.getCurrentDir() != null && startParameter.getBuildFile() == null; LOGGER.debug("Starting to build the build sources."); if (!startParameter.getCurrentDir().isDirectory()) { LOGGER.debug("Gradle source dir does not exist. We leave."); return ClassPath.EMPTY; } return buildOperationExecutor.call(new CallableBuildOperation<ClassPath>() { @Override public ClassPath call(BuildOperationContext context) { return buildBuildSrc(startParameter); } @Override public BuildOperationDescriptor.Builder description() { return BuildOperationDescriptor.displayName("Build buildSrc").progressDisplayName("buildSrc"); } }); }
/** * Returns the build file that should be used for this build. Defaults to {@value * org.gradle.api.Project#DEFAULT_BUILD_FILE} in the project directory. * * @return The build file. May be null. */ @Optional @InputFile public File getBuildFile() { return getStartParameter().getBuildFile(); }
static ProjectSpec forStartParameter(StartParameter startParameter, SettingsInternal settings) { File explicitProjectDir = startParameter.getProjectDir(); File explicitBuildFile = startParameter.getBuildFile(); if (explicitBuildFile != null) { return new BuildFileProjectSpec(explicitBuildFile); } if (explicitProjectDir != null) { return new ProjectDirectoryProjectSpec(explicitProjectDir); } return new DefaultProjectSpec(startParameter.getCurrentDir(), settings); } }
@Override public SettingsInternal findAndLoadSettings(GradleInternal gradle) { StartParameter startParameter = gradle.getStartParameter(); SettingsInternal settings = findSettingsAndLoadIfAppropriate(gradle, startParameter); ProjectSpec spec = ProjectSpecs.forStartParameter(startParameter, settings); if (spec.containsProject(settings.getProjectRegistry())) { setDefaultProject(spec, settings); return settings; } // Try again with empty settings StartParameter noSearchParameter = startParameter.newInstance(); noSearchParameter.useEmptySettings(); settings = findSettingsAndLoadIfAppropriate(gradle, noSearchParameter); // Set explicit build file, if required if (noSearchParameter.getBuildFile() != null) { ProjectDescriptor rootProject = settings.getRootProject(); rootProject.setBuildFileName(noSearchParameter.getBuildFile().getName()); } setDefaultProject(spec, settings); return settings; }
public void buildStarted(Gradle gradle) { StartParameter startParameter = gradle.getStartParameter(); logger.info("Starting Build"); if (logger.isDebugEnabled()) { logger.debug("Gradle user home: {}", startParameter.getGradleUserHomeDir()); logger.debug("Current dir: {}", startParameter.getCurrentDir()); logger.debug("Settings file: {}", startParameter.getSettingsFile()); logger.debug("Build file: {}", startParameter.getBuildFile()); } }