Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gradle Toolchain remove PropertyOrigin.java and other cleanups #28911

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,22 +39,18 @@ public static void updateJvmCriteria(
) {
validateToolchainVersion(toolchainVersion);

Properties daemonJVMProperties = new Properties();
daemonJVMProperties.put(DaemonJvmPropertiesDefaults.TOOLCHAIN_VERSION_PROPERTY, toolchainVersion.getMajorVersion());
Properties daemonJvmProperties = new Properties();
daemonJvmProperties.put(DaemonJvmPropertiesDefaults.TOOLCHAIN_VERSION_PROPERTY, toolchainVersion.getMajorVersion());
if (toolchainVendor != null) {
daemonJVMProperties.put(DaemonJvmPropertiesDefaults.TOOLCHAIN_VENDOR_PROPERTY, toolchainVendor.getKnownVendor().name());
} else {
daemonJVMProperties.remove(DaemonJvmPropertiesDefaults.TOOLCHAIN_VENDOR_PROPERTY);
daemonJvmProperties.put(DaemonJvmPropertiesDefaults.TOOLCHAIN_VENDOR_PROPERTY, toolchainVendor.getKnownVendor().name());
}
if (toolchainImplementation != null) {
daemonJVMProperties.put(DaemonJvmPropertiesDefaults.TOOLCHAIN_IMPLEMENTATION_PROPERTY, toolchainImplementation.toString());
} else {
daemonJVMProperties.remove(DaemonJvmPropertiesDefaults.TOOLCHAIN_IMPLEMENTATION_PROPERTY);
daemonJvmProperties.put(DaemonJvmPropertiesDefaults.TOOLCHAIN_IMPLEMENTATION_PROPERTY, toolchainImplementation.toString());
}

GFileUtils.parentMkdirs(propertiesFile);
try {
PropertiesUtils.store(daemonJVMProperties, propertiesFile, "This file is generated by " + DaemonJvmPropertiesConfigurator.TASK_NAME);
PropertiesUtils.store(daemonJvmProperties, propertiesFile, "This file is generated by " + DaemonJvmPropertiesConfigurator.TASK_NAME);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,39 +31,25 @@
*/
public abstract class AbstractBuildOption<T, V extends CommandLineOptionConfiguration> implements BuildOption<T> {

protected final PropertyOrigin propertyOrigin;
protected final String property;
protected final List<V> commandLineOptionConfigurations;
protected final String deprecatedProperty;

public AbstractBuildOption(String property) {
this(property, null, PropertyOrigin.GRADLE_PROPERTIES, Collections.<V>emptyList());
this(property, null, Collections.<V>emptyList());
}

public AbstractBuildOption(String property, String deprecatedProperty, V... commandLineOptionConfiguration) {
this(property, deprecatedProperty, PropertyOrigin.GRADLE_PROPERTIES, commandLineOptionConfiguration != null ? Arrays.asList(commandLineOptionConfiguration) : Collections.<V>emptyList());
this(property, deprecatedProperty, commandLineOptionConfiguration != null ? Arrays.asList(commandLineOptionConfiguration) : Collections.<V>emptyList());
}

public AbstractBuildOption(String property, V... commandLineOptionConfiguration) {
this(property, null, PropertyOrigin.GRADLE_PROPERTIES, commandLineOptionConfiguration != null ? Arrays.asList(commandLineOptionConfiguration) : Collections.<V>emptyList());
this(property, null, commandLineOptionConfiguration != null ? Arrays.asList(commandLineOptionConfiguration) : Collections.<V>emptyList());
}

public AbstractBuildOption(String property, PropertyOrigin propertyOrigin) {
this(property, null, propertyOrigin, Collections.<V>emptyList());
}

public AbstractBuildOption(String property, String deprecatedProperty, PropertyOrigin propertyOrigin, V... commandLineOptionConfiguration) {
this(property, deprecatedProperty, propertyOrigin, commandLineOptionConfiguration != null ? Arrays.asList(commandLineOptionConfiguration) : Collections.<V>emptyList());
}

public AbstractBuildOption(String property, PropertyOrigin propertyOrigin, V... commandLineOptionConfiguration) {
this(property, null, propertyOrigin, commandLineOptionConfiguration != null ? Arrays.asList(commandLineOptionConfiguration) : Collections.<V>emptyList());
}

private AbstractBuildOption(String property, String deprecatedProperty, PropertyOrigin propertyOrigin, List<V> commandLineOptionConfigurations) {
private AbstractBuildOption(String property, String deprecatedProperty, List<V> commandLineOptionConfigurations) {
this.property = property;
this.deprecatedProperty = deprecatedProperty;
this.propertyOrigin = propertyOrigin;
this.commandLineOptionConfigurations = commandLineOptionConfigurations;
}

Expand Down Expand Up @@ -99,24 +85,24 @@ protected CommandLineOption configureCommandLineOption(CommandLineParser parser,
protected OptionValue<String> getFromProperties(Map<String, String> properties) {
String value = properties.get(property);
if (value != null) {
return new OptionValue<String>(value, property, propertyOrigin);
return new OptionValue<String>(value, Origin.forGradleProperty(property));
}
if (deprecatedProperty != null) {
value = properties.get(deprecatedProperty);
if (value != null) {
return new OptionValue<String>(value, deprecatedProperty, propertyOrigin);
return new OptionValue<String>(value, Origin.forGradleProperty(deprecatedProperty));
}
}
return new OptionValue<String>(null, null, propertyOrigin);
return new OptionValue<String>(null, null);
}

protected static class OptionValue<T> {
private final T value;
private final Origin origin;

public OptionValue(T value, String property, PropertyOrigin propertyOrigin) {
public OptionValue(T value, Origin origin) {
this.value = value;
this.origin = propertyOrigin.toOrigin(property);
this.origin = origin;
}

public T getValue() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public EnabledOnlyBooleanBuildOption(String property, CommandLineOptionConfigura
@Override
public void applyFromProperty(Map<String, String> properties, T settings) {
if (properties.get(property) != null) {
applyTo(settings, propertyOrigin.toOrigin(property));
applyTo(settings, Origin.forGradleProperty(property));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,25 +35,17 @@ public abstract class EnumBuildOption<E extends Enum<E>, T> extends AbstractBuil
private final Class<E> enumClass;
private final List<E> possibleValues;

public EnumBuildOption(String displayName, Class<E> enumClass, E[] possibleValues, String property, String deprecatedProperty, CommandLineOptionConfiguration... commandLineOptionConfigurations) {
this(displayName, enumClass, possibleValues, property, deprecatedProperty, PropertyOrigin.GRADLE_PROPERTIES, commandLineOptionConfigurations);
}

public EnumBuildOption(String displayName, Class<E> enumClass, E[] possibleValues, String property, CommandLineOptionConfiguration... commandLineOptionConfigurations) {
this(displayName, enumClass, possibleValues, property, null, PropertyOrigin.GRADLE_PROPERTIES, commandLineOptionConfigurations);
}

public EnumBuildOption(String displayName, Class<E> enumClass, E[] possibleValues, String property, PropertyOrigin propertyOrigin, CommandLineOptionConfiguration... commandLineOptionConfigurations) {
this(displayName, enumClass, possibleValues, property, null, propertyOrigin, commandLineOptionConfigurations);
}

public EnumBuildOption(String displayName, Class<E> enumClass, E[] possibleValues, String property, String deprecatedProperty, PropertyOrigin propertyOrigin, CommandLineOptionConfiguration... commandLineOptionConfigurations) {
super(property, deprecatedProperty, propertyOrigin, commandLineOptionConfigurations);
public EnumBuildOption(String displayName, Class<E> enumClass, E[] possibleValues, String gradleProperty, String deprecatedProperty, CommandLineOptionConfiguration... commandLineOptionConfigurations) {
super(gradleProperty, deprecatedProperty, commandLineOptionConfigurations);
this.displayName = displayName;
this.enumClass = enumClass;
this.possibleValues = Collections.unmodifiableList(Arrays.asList(possibleValues));
}

public EnumBuildOption(String displayName, Class<E> enumClass, E[] possibleValues, String gradleProperty, CommandLineOptionConfiguration... commandLineOptionConfigurations) {
this(displayName, enumClass, possibleValues, gradleProperty, null, commandLineOptionConfigurations);
}

@Override
public void applyFromProperty(Map<String, String> properties, T settings) {
OptionValue<String> propertyValue = getFromProperties(properties);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void applyFromProperty(Map<String, String> properties, T settings) {

if (value != null) {
String[] splitValues = value.split("\\s*,\\s*");
applyTo(Arrays.asList(splitValues), settings, propertyOrigin.toOrigin(property));
applyTo(Arrays.asList(splitValues), settings, Origin.forGradleProperty(property));
}
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ public StringBuildOption(String property) {
super(property);
}

public StringBuildOption(String property, PropertyOrigin propertyOrigin) {
super(property, propertyOrigin);
}

public StringBuildOption(String property, CommandLineOptionConfiguration... commandLineOptionConfigurations) {
super(property, commandLineOptionConfigurations);
}
Expand All @@ -45,7 +41,7 @@ public void applyFromProperty(Map<String, String> properties, T settings) {
String value = properties.get(property);

if (value != null) {
applyTo(value, settings, propertyOrigin.toOrigin(property));
applyTo(value, settings, Origin.forGradleProperty(property));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
import org.gradle.internal.service.scopes.GradleUserHomeScopeServiceRegistry;
import org.gradle.internal.service.scopes.Scope;
import org.gradle.launcher.bootstrap.ExecutionListener;
import org.gradle.launcher.configuration.AllProperties;
import org.gradle.launcher.daemon.bootstrap.ForegroundDaemonAction;
import org.gradle.launcher.daemon.client.DaemonClient;
import org.gradle.launcher.daemon.client.DaemonClientFactory;
Expand Down Expand Up @@ -104,7 +103,6 @@ public Action<? super ExecutionListener> createAction(CommandLineParser parser,

StartParameterInternal startParameter = parameters.getStartParameter();
DaemonParameters daemonParameters = parameters.getDaemonParameters();
AllProperties allProperties = parameters.getProperties();

if (daemonParameters.isStop()) {
return Actions.toAction(stopAllDaemons(daemonParameters));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ public AllProperties convert(InitialProperties initialProperties, BuildLayoutRes
configureFromSystemPropertiesOfThisJvm(Cast.uncheckedNonnullCast(properties));
properties.putAll(initialProperties.getRequestedSystemProperties());

Map<String, String> daemonJVMProperties = new HashMap<>();
configureFromDaemonJVMProperties(layout, daemonJVMProperties);
return new Result(properties, daemonJVMProperties, initialProperties);
Map<String, String> daemonJvmProperties = new HashMap<>();
configureFromDaemonJVMProperties(layout, daemonJvmProperties);
return new Result(properties, daemonJvmProperties, initialProperties);
}

private void configureFromSystemPropertiesOfThisJvm(Map<Object, Object> properties) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package org.gradle.launcher.daemon.context;

import org.gradle.api.internal.specs.ExplainingSpec;
import org.gradle.internal.jvm.JavaInfo;
import org.gradle.internal.jvm.Jvm;

import java.io.File;
Expand Down Expand Up @@ -67,9 +68,10 @@ private boolean jvmCompatible(DaemonContext potentialContext) {
} else {
try {
File potentialJavaHome = potentialContext.getJavaHome();
if (potentialJavaHome.exists()) {
JavaInfo desiredJavaHome = desiredContext.getJavaHome();
if (potentialJavaHome.exists() && desiredJavaHome != null) {
File potentialJava = Jvm.forHome(potentialJavaHome).getJavaExecutable();
File desiredJava = desiredContext.getJavaHome().getJavaExecutable();
File desiredJava = desiredJavaHome.getJavaExecutable();
return Files.isSameFile(potentialJava.toPath(), desiredJava.toPath());
}
} catch (IOException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ import org.gradle.internal.logging.text.StyledTextOutputFactory
import org.gradle.internal.nativeintegration.services.NativeServices
import org.gradle.internal.service.DefaultServiceRegistry
import org.gradle.internal.service.ServiceRegistry
import org.gradle.internal.time.Clock
import org.gradle.launcher.daemon.bootstrap.ForegroundDaemonAction
import org.gradle.launcher.daemon.client.DaemonClient
import org.gradle.launcher.daemon.client.SingleUseDaemonClient
Expand Down Expand Up @@ -57,7 +56,6 @@ class BuildActionsFactoryTest extends Specification {

def setup() {
def factoryLoggingManager = Mock(Factory) { _ * create() >> Mock(LoggingManagerInternal) }
loggingServices.add(Clock, Mock(Clock))
loggingServices.add(OutputEventListener, Mock(OutputEventListener))
loggingServices.add(GlobalUserInputReceiver, Mock(GlobalUserInputReceiver))
loggingServices.add(StyledTextOutputFactory, Mock(StyledTextOutputFactory))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ public void applyFromProperty(Map<String, String> properties, LoggingConfigurati
} else if (value.equalsIgnoreCase("full")) {
settings.setShowStacktrace(ShowStacktrace.ALWAYS_FULL);
} else {
propertyOrigin.toOrigin(GRADLE_PROPERTY).handleInvalidValue(value, "must be one of internal, all, or full");
Origin.forGradleProperty(GRADLE_PROPERTY).handleInvalidValue(value, "must be one of internal, all, or full");
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1754,7 +1754,6 @@ Class <org.gradle.internal.buildoption.Origin$CommandLineOrigin> is not annotate
Class <org.gradle.internal.buildoption.Origin$GradlePropertyOrigin> is not annotated (directly or via its package) with @org.gradle.api.NonNullApi in (Origin.java:0)
Class <org.gradle.internal.buildoption.Origin> is not annotated (directly or via its package) with @org.gradle.api.NonNullApi in (Origin.java:0)
Class <org.gradle.internal.buildoption.PropertiesConverter> is not annotated (directly or via its package) with @org.gradle.api.NonNullApi in (PropertiesConverter.java:0)
Class <org.gradle.internal.buildoption.PropertyOrigin> is not annotated (directly or via its package) with @org.gradle.api.NonNullApi in (PropertyOrigin.java:0)
Class <org.gradle.internal.buildoption.StringBuildOption> is not annotated (directly or via its package) with @org.gradle.api.NonNullApi in (StringBuildOption.java:0)
Class <org.gradle.internal.buildoption.StringInternalOption> is not annotated (directly or via its package) with @org.gradle.api.NonNullApi in (StringInternalOption.java:0)
Class <org.gradle.internal.cache.MonitoredCleanupAction> is not annotated (directly or via its package) with @org.gradle.api.NonNullApi in (MonitoredCleanupAction.java:0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import org.gradle.api.internal.file.FileCollectionFactory;
import org.gradle.api.internal.file.TestFiles;
import org.gradle.api.logging.configuration.ConsoleOutput;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.specs.Spec;
import org.gradle.api.tasks.TaskState;
import org.gradle.cli.CommandLineParser;
Expand Down Expand Up @@ -370,7 +369,6 @@ private BuildResult executeBuild(GradleInvocation invocation, OutputStream outpu
// TODO: Reuse more of CommandlineActionFactory
CommandLineParser parser = new CommandLineParser();
FileCollectionFactory fileCollectionFactory = TestFiles.fileCollectionFactory();
ObjectFactory propertyFactory = GLOBAL_SERVICES.get(ObjectFactory.class);
BuildEnvironmentConfigurationConverter buildEnvironmentConfigurationConverter = new BuildEnvironmentConfigurationConverter(new BuildLayoutFactory(), fileCollectionFactory);
buildEnvironmentConfigurationConverter.configure(parser);
Parameters parameters = buildEnvironmentConfigurationConverter.convertParameters(parser.parse(getAllArgs()), getWorkingDir());
Expand Down