diff options
author | Jean-Marie Hénaff <jmhenaff@google.com> | 2015-03-06 16:34:11 +0000 |
---|---|---|
committer | Jean-Marie Hénaff <jmhenaff@google.com> | 2015-03-06 16:34:11 +0000 |
commit | b43732ee3d9f9ffcd7595ab657e4c683a1751b3a (patch) | |
tree | 6f61704ce9553abc48924becc947ff099a52951e /jack-tests/src | |
parent | d235ed6f21b7b21aefb4b066b0c64acfa2bbb229 (diff) | |
download | toolchain_jack-b43732ee3d9f9ffcd7595ab657e4c683a1751b3a.zip toolchain_jack-b43732ee3d9f9ffcd7595ab657e4c683a1751b3a.tar.gz toolchain_jack-b43732ee3d9f9ffcd7595ab657e4c683a1751b3a.tar.bz2 |
Revert "Start using jack-api for jack API based test toolchains"
This reverts commit d235ed6f21b7b21aefb4b066b0c64acfa2bbb229.
Change-Id: Idceeda07056275eb887d42a5aa75b624024554e0
Diffstat (limited to 'jack-tests/src')
7 files changed, 313 insertions, 355 deletions
diff --git a/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java b/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java index 11af77b..90bffbc 100644 --- a/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java +++ b/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java @@ -22,7 +22,7 @@ import com.android.jack.test.runner.AbstractRuntimeRunner; import com.android.jack.test.runner.RuntimeRunner; import com.android.jack.test.toolchain.AbstractTestTools; import com.android.jack.test.toolchain.IToolchain; -import com.android.jack.test.toolchain.JackApiToolchainBase; +import com.android.jack.test.toolchain.JackApiToolchain; import com.android.jack.test.toolchain.JackBasedToolchain.MultiDexKind; import com.android.jack.test.toolchain.JillBasedToolchain; @@ -176,8 +176,8 @@ public class IncrementalTestHelper { List<Class<? extends IToolchain>> excludeList = new ArrayList<Class<? extends IToolchain>>(1); excludeList.add(JillBasedToolchain.class); - JackApiToolchainBase jackToolchain = - AbstractTestTools.getCandidateToolchain(JackApiToolchainBase.class, excludeList); + JackApiToolchain jackToolchain = + AbstractTestTools.getCandidateToolchain(JackApiToolchain.class, excludeList); jackToolchain.setIncrementalFolder(getCompilerStateFolder()); jackToolchain.addStaticLibs(imports.toArray(new File[imports.size()])); jackToolchain.setMultiDexKind(multiDexKind); diff --git a/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java b/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java index be3414b..0c9fa32 100644 --- a/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java +++ b/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java @@ -82,10 +82,10 @@ public abstract class AbstractTestTools { static { toolchainBuilders = new HashMap<String, ToolchainBuilder>(); - toolchainBuilders.put("jack-cli" , new JackCliToolchainBuilder()); - toolchainBuilders.put("jack-api-v01" , new JackApiV01ToolchainBuilder()); - toolchainBuilders.put("legacy" , new LegacyToolchainBuilder()); - toolchainBuilders.put("jill-legacy" , new LegacyJillToolchainBuilder()); + toolchainBuilders.put("jack-cli" , new JackCliToolchainBuilder()); + toolchainBuilders.put("jack-api" , new JackApiToolchainBuilder()); + toolchainBuilders.put("legacy" , new LegacyToolchainBuilder()); + toolchainBuilders.put("jill-legacy", new LegacyJillToolchainBuilder()); try { runtimes.addAll(parseRuntimeList(TestsProperties.getProperty(RUNTIME_LIST_KEY))); @@ -122,12 +122,12 @@ public abstract class AbstractTestTools { } } - private static class JackApiV01ToolchainBuilder implements ToolchainBuilder { + private static class JackApiToolchainBuilder implements ToolchainBuilder { @Override @Nonnull - public JackApiV01Toolchain build() { - return new JackApiV01Toolchain(getPrebuilt("jack")); + public JackApiToolchain build() { + return new JackApiToolchain(); } } diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java new file mode 100644 index 0000000..e48177e --- /dev/null +++ b/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchain.java @@ -0,0 +1,269 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.jack.test.toolchain; + +import com.android.jack.Jack; +import com.android.jack.Options; +import com.android.jack.Sourcelist; +import com.android.jack.backend.dex.rop.CodeItemBuilder; +import com.android.jack.shrob.spec.Flags; +import com.android.sched.util.config.cli.TokenIterator; +import com.android.sched.util.location.NoLocation; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import javax.annotation.Nonnull; + +/** + * This class implements a {@link JackBasedToolchain} by calling Jack via API. + */ +public class JackApiToolchain extends JackBasedToolchain { + + @Nonnull + private Options jackOptions = new Options(); + + JackApiToolchain() {} + + @Override + @Nonnull + protected JackApiToolchain setVerbosityLevel(@Nonnull Options.VerbosityLevel level) { + jackOptions.setVerbosityLevel(level); + return this; + } + + @Override + public void srcToExe(@Nonnull File out, boolean zipFile, + @Nonnull File... sources) throws Exception { + + try { + + srcToCommon(sources); + + if (zipFile) { + jackOptions.setOutputZip(out); + } else { + jackOptions.setOutputDir(out); + } + + System.setOut(outRedirectStream); + System.setErr(errRedirectStream); + + Jack.checkAndRun(jackOptions); + } finally { + System.setOut(stdOut); + System.setErr(stdErr); + } + } + + @Override + public void srcToLib(@Nonnull File out, boolean zipFiles, + @Nonnull File... sources) throws Exception { + + try { + + srcToCommon(sources); + + if (zipFiles) { + jackOptions.setJayceOutputZip(out); + } else { + jackOptions.setJayceOutputDir(out); + } + + System.setOut(outRedirectStream); + System.setErr(errRedirectStream); + + Jack.checkAndRun(jackOptions); + } finally { + System.setOut(stdOut); + System.setErr(stdErr); + } + } + + private void srcToCommon(@Nonnull File... sources) throws Exception { + addProperties(properties, jackOptions); + + jackOptions.setSanityChecks(sanityChecks); + + if (jackOptions.getFlags() != null) { + jackOptions.applyShrobFlags(); + } + + if (classpath.size() > 0) { + jackOptions.setClasspath(getClasspathAsString()); + } + + fillEcjArgs(sources); + + for (File res : resImport) { + jackOptions.addResource(res); + } + + jackOptions.setImportedLibraries(staticLibs); + + if (jarjarRules != null) { + jackOptions.setJarjarRulesFile(jarjarRules); + } + + if (proguardFlags.size() > 0) { + jackOptions.setProguardFlagsFile(proguardFlags); + } + + jackOptions.addProperty(Options.EMIT_LOCAL_DEBUG_INFO.getName(), + Boolean.toString(withDebugInfos)); + + jackOptions.addProperty(CodeItemBuilder.DEX_OPTIMIZE.getName(), + Boolean.toString(!withDebugInfos)); + + } + + @Override + public void libToExe(@Nonnull File[] in, @Nonnull File out, boolean zipFile) throws Exception { + + try { + + libToCommon(in); + + if (zipFile) { + jackOptions.setOutputZip(out); + } else { + jackOptions.setOutputDir(out); + } + + System.setOut(outRedirectStream); + System.setErr(errRedirectStream); + + Jack.checkAndRun(jackOptions); + } finally { + System.setOut(stdOut); + System.setErr(stdErr); + } + } + + @Override + public void libToLib(@Nonnull File[] in, @Nonnull File out, boolean zipFiles) throws Exception { + + try { + + libToCommon(in); + + if (zipFiles) { + jackOptions.setJayceOutputZip(out); + } else { + jackOptions.setJayceOutputDir(out); + } + + System.setOut(outRedirectStream); + System.setErr(errRedirectStream); + + Jack.checkAndRun(jackOptions); + } finally { + System.setOut(stdOut); + System.setErr(stdErr); + } + } + + private void libToCommon(@Nonnull File[] in) { + addProperties(properties, jackOptions); + + jackOptions.setSanityChecks(sanityChecks); + + if (jarjarRules != null) { + jackOptions.setJarjarRulesFile(jarjarRules); + } + + if (classpath.size() > 0) { + jackOptions.setClasspath(getClasspathAsString()); + } + + if (jackOptions.getFlags() != null) { + jackOptions.applyShrobFlags(); + } + + if (proguardFlags.size() > 0) { + jackOptions.setProguardFlagsFile(proguardFlags); + } + + for (File res : resImport) { + jackOptions.addResource(res); + } + + List<File> libsToImport = new ArrayList<File>(); + for (File staticLib : in) { + libsToImport.add(staticLib); + } + libsToImport.addAll(staticLibs); + jackOptions.setImportedLibraries(libsToImport); + + } + + @Nonnull + public JackApiToolchain setShrobFlags(@Nonnull Flags shrobFlags) { + jackOptions.setFlags(shrobFlags); + return this; + } + + @Override + @Nonnull + public JackApiToolchain setIncrementalFolder(@Nonnull File incrementalFolder) { + jackOptions.setIncrementalFolder(incrementalFolder); + return this; + } + + private static final void addProperties(@Nonnull Map<String, String> properties, + @Nonnull Options jackOptions) { + for (Entry<String, String> entry : properties.entrySet()) { + jackOptions.addProperty(entry.getKey(), entry.getValue()); + } + } + + private final void fillEcjArgs(@Nonnull File... sources) throws Exception { + List<String> ecjArgs = new ArrayList<String>(); + + if (annotationProcessorClass != null) { + ecjArgs.add("-processor"); + ecjArgs.add(annotationProcessorClass.getName()); + } + + if (annotationProcessorOutDir != null) { + ecjArgs.add("-d"); + ecjArgs.add(annotationProcessorOutDir.getAbsolutePath()); + } + + ArrayList<File> toCompile = new ArrayList<File>(); + for (File srcFile : sources) { + if (srcFile instanceof Sourcelist) { + TokenIterator iterator = + new TokenIterator(new NoLocation(), '@' + srcFile.getAbsolutePath()); + while (iterator.hasNext()) { + toCompile.add(new File(iterator.next())); + } + } else { + toCompile.add(srcFile); + } + } + + if (sources.length > 0) { + jackOptions.setEcjExtraArguments(ecjArgs); + jackOptions.setInputSources(toCompile); + } + } + +} diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchainBase.java b/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchainBase.java deleted file mode 100644 index 33fb3dd..0000000 --- a/jack-tests/src/com/android/jack/test/toolchain/JackApiToolchainBase.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.jack.test.toolchain; - -import com.android.jack.api.ConfigNotSupportedException; -import com.android.jack.api.JackConfig; -import com.android.jack.api.JackConfigProvider; -import com.android.jack.api.example.Main; -import com.android.jack.api.v01.VerbosityLevel; -import com.android.jack.shrob.spec.Flags; -import com.android.jack.test.TestConfigurationException; - -import java.io.File; -import java.lang.reflect.InvocationTargetException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; - -import javax.annotation.CheckForNull; -import javax.annotation.Nonnull; - -/** - * This class implements a {@link JackBasedToolchain} by calling Jack via API. - */ -public abstract class JackApiToolchainBase extends JackBasedToolchain { - - @Nonnull - protected JackConfig config; - - @Nonnull - private String compilerCodeName; - @Nonnull - private String compilerVersion; - @Nonnull - private String compilerBuildId; - @Nonnull - private String compilerCodeBase; - - @CheckForNull - protected File incrementalFolder; - @Nonnull - protected VerbosityLevel verbosityLevel = VerbosityLevel.WARNING; - - public String getCompilerCodeName() { - return compilerCodeName; - } - - public String getCompilerVersion() { - return compilerVersion; - } - - public String getCompilerBuildId() { - return compilerBuildId; - } - - public String getCompilerCodeBase() { - return compilerCodeBase; - } - - protected <T extends JackConfig> JackApiToolchainBase(@Nonnull File jackPrebuilt, - @Nonnull Class<T> jackConfig) { - try { - ClassLoader loader; - JackConfigProvider confProvider; - loader = URLClassLoader.newInstance(new URL[] {jackPrebuilt.toURI().toURL()}, - Main.class.getClassLoader()); - - Class<? extends JackConfigProvider> confProviderClass = Class.forName( - JackConfigProvider.CLASS_NAME, true, loader).asSubclass(JackConfigProvider.class); - - JackConfigProvider configProvider = confProviderClass.getConstructor().newInstance(); - - compilerCodeName = configProvider.getCompilerCodeName(); - compilerVersion = configProvider.getCompilerVersion(); - compilerBuildId = configProvider.getCompilerBuildId(); - compilerCodeBase = configProvider.getCompilerCodeBase(); - - config = confProviderClass.getConstructor().newInstance().getConfig(jackConfig); - - } catch (ConfigNotSupportedException e) { - throw new TestConfigurationException("Jack API v01 not supported", e); - } catch (MalformedURLException e) { - throw new TestConfigurationException(e); - } catch (ClassNotFoundException e) { - throw new TestConfigurationException(e); - } catch (InstantiationException e) { - throw new TestConfigurationException(e); - } catch (IllegalAccessException e) { - throw new TestConfigurationException(e); - } catch (IllegalArgumentException e) { - throw new TestConfigurationException(e); - } catch (InvocationTargetException e) { - throw new TestConfigurationException(e); - } catch (NoSuchMethodException e) { - throw new TestConfigurationException(e); - } catch (SecurityException e) { - throw new TestConfigurationException(e); - } - } - - @Override - @Nonnull - public JackApiToolchainBase setIncrementalFolder(@Nonnull File incrementalFolder) { - this.incrementalFolder = incrementalFolder; - return this; - } - - @Nonnull - public abstract JackApiToolchainBase setShrobFlags(@Nonnull Flags shrobFlags); - -} diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java deleted file mode 100644 index 83efb1e..0000000 --- a/jack-tests/src/com/android/jack/test/toolchain/JackApiV01Toolchain.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.jack.test.toolchain; - -import com.google.common.collect.Lists; - -import com.android.jack.Options; -import com.android.jack.api.v01.Api01Config; -import com.android.jack.api.v01.ConfigurationException; -import com.android.jack.api.v01.VerbosityLevel; -import com.android.jack.shrob.spec.Flags; -import com.android.jack.test.TestConfigurationException; -import com.android.sched.vfs.Container; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.annotation.Nonnull; - -/** - * This {@link Toolchain} uses Jack through v01 API - */ -public class JackApiV01Toolchain extends JackApiToolchainBase { - - @Nonnull - private Api01Config apiV01Config; - - JackApiV01Toolchain(@Nonnull File jackPrebuilt) { - super(jackPrebuilt, Api01Config.class); - apiV01Config = (Api01Config) config; - } - - @Override - public void srcToExe(@Nonnull File out, boolean zipFile, @Nonnull File... sources) - throws Exception { - srcToCommon(sources); - setOutputDex(out); - apiV01Config.getTask().run(); - } - - @Override - public void srcToLib(@Nonnull File out, boolean zipFiles, @Nonnull File... sources) - throws Exception { - srcToCommon(sources); - setOutputJack(out); - apiV01Config.getTask().run(); - } - - @Override - public void libToExe(@Nonnull File[] in, @Nonnull File out, boolean zipFile) throws Exception { - libToCommon(in); - setOutputDex(out); - apiV01Config.getTask().run(); - } - - @Override - public void libToLib(@Nonnull File[] in, @Nonnull File out, boolean zipFiles) throws Exception { - libToCommon(in); - setOutputJack(out); - apiV01Config.getTask().run(); - } - - @Override - @Nonnull - public JackApiV01Toolchain setIncrementalFolder(@Nonnull File incrementalFolder) { - try { - apiV01Config.setIncrementalDir(incrementalFolder); - return this; - } catch (ConfigurationException e) { - throw new TestConfigurationException(e); - } - } - - @Override - @Nonnull - public JackApiV01Toolchain setVerbose(boolean isVerbose) { - super.setVerbose(isVerbose); - try { - if (isVerbose) { - apiV01Config.setVerbosityLevel(VerbosityLevel.DEBUG); - } else { - apiV01Config.setVerbosityLevel(VerbosityLevel.WARNING); - } - return this; - } catch (ConfigurationException e) { - throw new TestConfigurationException(e); - } - } - - @Override - @Nonnull - public final JackApiV01Toolchain addProperty(@Nonnull String propertyName, - @Nonnull String propertyValue) { - try { - apiV01Config.setProperty(propertyName, propertyValue); - return this; - } catch (ConfigurationException e) { - throw new TestConfigurationException(e); - } - } - - @Override - @Nonnull - public JackApiV01Toolchain setWithDebugInfos(boolean withDebugInfos) { - try { - apiV01Config.setEmitDebug(withDebugInfos); - return this; - } catch (ConfigurationException e) { - throw new TestConfigurationException(e); - } - } - - @Override - @Nonnull - public JackApiV01Toolchain setShrobFlags(@Nonnull Flags shrobFlags) { - // STOPSHIP(jmhenaff): another CL remove the need for this API - throw new AssertionError("Must no be used"); - } - - @Override - @Nonnull - public JackApiV01Toolchain setSanityChecks(boolean sanityChecks) { - try { - apiV01Config.setProperty(Options.SANITY_CHECKS.getName(), Boolean.toString(sanityChecks)); - return this; - } catch (ConfigurationException e) { - throw new TestConfigurationException(e); - } - } - - private void srcToCommon(@Nonnull File... sources) throws Exception { - apiV01Config.setClasspath(classpath); - apiV01Config.setImportedJackLibraryFiles(staticLibs); - apiV01Config.setSourceEntries(Lists.newArrayList(sources)); - apiV01Config.setResourceDirs(resImport); - apiV01Config.setProguardConfigFiles(proguardFlags); - if (jarjarRules != null) { - apiV01Config.setJarJarConfigFile(jarjarRules); - } - } - - private void libToCommon(@Nonnull File... in) throws Exception { - apiV01Config.setClasspath(classpath); - List<File> importedLibs = new ArrayList<File>(staticLibs); - Collections.addAll(importedLibs, in); - apiV01Config.setImportedJackLibraryFiles(importedLibs); - apiV01Config.setResourceDirs(resImport); - apiV01Config.setProguardConfigFiles(proguardFlags); - if (jarjarRules != null) { - apiV01Config.setJarJarConfigFile(jarjarRules); - } - } - - private void setOutputDex(@Nonnull File outDex) throws Exception { - if (outDex.isDirectory()) { - apiV01Config.setOutputDexDir(outDex); - } else { - apiV01Config.setProperty(Options.DEX_OUTPUT_CONTAINER_TYPE.getName(), Container.ZIP.name()); - apiV01Config.setProperty(Options.GENERATE_DEX_FILE.getName(), "true"); - apiV01Config.setProperty(Options.DEX_OUTPUT_ZIP.getName(), outDex.getAbsolutePath()); - } - } - - private void setOutputJack(@Nonnull File outjack) throws Exception { - if (!outjack.isDirectory()) { - apiV01Config.setOutputJackFile(outjack); - } else { - apiV01Config.setProperty(Options.LIBRARY_OUTPUT_CONTAINER_TYPE.getName(), - Container.DIR.name()); - apiV01Config.setProperty(Options.LIBRARY_OUTPUT_DIR.getName(), outjack.getAbsolutePath()); - apiV01Config.setProperty(Options.GENERATE_JACK_LIBRARY.getName(), "true"); - apiV01Config.setProperty(Options.GENERATE_JAYCE_IN_LIBRARY.getName(), "true"); - apiV01Config.setProperty(Options.GENERATE_DEPENDENCIES_IN_LIBRARY.getName(), "true"); - } - } - -} diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java index 34610eb..b7f0f55 100644 --- a/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java +++ b/jack-tests/src/com/android/jack/test/toolchain/JackBasedToolchain.java @@ -16,6 +16,8 @@ package com.android.jack.test.toolchain; +import com.android.jack.Options; +import com.android.jack.Options.VerbosityLevel; import com.android.jack.backend.dex.DexFileWriter; import com.android.jack.backend.dex.MultiDexLegacy; import com.android.jack.backend.dex.rop.CodeItemBuilder; @@ -23,7 +25,9 @@ import com.android.jack.test.TestsProperties; import java.io.File; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.annotation.CheckForNull; import javax.annotation.Nonnull; @@ -42,15 +46,21 @@ public abstract class JackBasedToolchain extends AndroidToolchain { LEGACY } - + @Nonnull + protected final Map<String, String> properties = new HashMap<String, String>(); @CheckForNull protected File annotationProcessorOutDir; @Nonnull protected List<File> resImport = new ArrayList<File>(); + protected boolean sanityChecks = true; + @Nonnull - public abstract JackBasedToolchain addProperty(@Nonnull String propertyName, - @Nonnull String propertyValue); + public final JackBasedToolchain addProperty(@Nonnull String propertyName, + @Nonnull String propertyValue) { + properties.put(propertyName, propertyValue); + return this; + } public final JackBasedToolchain setMultiDexKind(@Nonnull MultiDexKind kind) { switch (kind) { @@ -109,8 +119,26 @@ public abstract class JackBasedToolchain extends AndroidToolchain { return this; } + @Override @Nonnull - public abstract JackBasedToolchain setSanityChecks(boolean sanityChecks); + public JackBasedToolchain setVerbose(boolean isVerbose) { + super.setVerbose(isVerbose); + if (isVerbose) { + setVerbosityLevel(VerbosityLevel.DEBUG); + } else { + setVerbosityLevel(VerbosityLevel.WARNING); + } + return this; + } + + @Nonnull + protected abstract JackBasedToolchain setVerbosityLevel(@Nonnull Options.VerbosityLevel level); + + @Nonnull + public JackBasedToolchain setSanityChecks(boolean sanityChecks){ + this.sanityChecks = sanityChecks; + return this; + } @Override @Nonnull diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java index 3542d03..280f8c9 100644 --- a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java +++ b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java @@ -22,7 +22,6 @@ import com.android.jack.util.ExecuteFile; import java.io.File; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -44,10 +43,6 @@ public class JackCliToolchain extends JackBasedToolchain { protected File incrementalFolder; @Nonnull protected Options.VerbosityLevel verbosityLevel = VerbosityLevel.WARNING; - @Nonnull - protected final Map<String, String> properties = new HashMap<String, String>(); - - protected boolean sanityChecks = true; JackCliToolchain(@Nonnull File prebuilt) { this.jackPrebuilt = prebuilt; @@ -55,9 +50,8 @@ public class JackCliToolchain extends JackBasedToolchain { @Override @Nonnull - public JackCliToolchain setVerbose(boolean isVerbose) { - super.setVerbose(isVerbose); - verbosityLevel = isVerbose ? VerbosityLevel.DEBUG : VerbosityLevel.WARNING; + protected JackCliToolchain setVerbosityLevel(@Nonnull Options.VerbosityLevel level) { + verbosityLevel = level; return this; } @@ -312,14 +306,6 @@ public class JackCliToolchain extends JackBasedToolchain { return this; } - @Override - @Nonnull - public JackBasedToolchain addProperty(@Nonnull String propertyName, - @Nonnull String propertyValue) { - properties.put(propertyName, propertyValue); - return this; - } - protected static void addProperties(@Nonnull Map<String, String> properties, @Nonnull List<String> args) { for (Entry<String, String> entry : properties.entrySet()) { @@ -328,11 +314,4 @@ public class JackCliToolchain extends JackBasedToolchain { } } - @Override - @Nonnull - public JackBasedToolchain setSanityChecks(boolean sanityChecks){ - this.sanityChecks = sanityChecks; - return this; - } - } |