http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java b/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java new file mode 100644 index 0000000..1d59834 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java @@ -0,0 +1,141 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 flex2.tools.oem.internal; + +/** + * Contains constants for all the configuration options. + * + * @version 2.0.1 + * @author Clement Wong + */ +interface ConfigurationConstants +{ + String USE_NETWORK = "--use-network"; + String RUNTIME_SHARED_LIBRARIES = "--runtime-shared-libraries"; + String RAW_METADATA = "--raw-metadata"; + String PROJECTOR = "--projector"; + String METADATA_PUBLISHER = "--metadata.publisher"; + String METADATA_LANGUAGE = "--metadata.language"; + String METADATA_LOCALIZED_TITLE = "--metadata.localized-title"; + String METADATA_LOCALIZED_DESCRIPTION = "--metadata.localized-description"; + String METADATA_DATE = "--metadata.date"; + String METADATA_CREATOR = "--metadata.creator"; + String METADATA_CONTRIBUTOR = "--metadata.contributor"; + String LINK_REPORT = "--link-report"; + String SIZE_REPORT = "--size-report"; + String LICENSES_LICENSE = "--licenses.license"; + String INCLUDES = "--includes"; + String INCLUDE_RESOURCE_BUNDLES = "--include-resource-bundles"; + String FRAMES_FRAME = "--frames.frame"; + String LOAD_EXTERNS = "--load-externs"; + String LOAD_CONFIG = "--load-config"; + String EXTERNS = "--externs"; + String DEFAULT_SIZE = "--default-size"; + String DEFAULT_SCRIPT_LIMITS = "--default-script-limits"; + String DEFAULT_FRAME_RATE = "--default-frame-rate"; + String DEFAULT_BACKGROUND_COLOR = "--default-background-color"; + String DEBUG_PASSWORD = "--debug-password"; + String SWF_VERSION = "--swf-version"; + String COMPILER_WARN_XML_CLASS_HAS_CHANGED = "--compiler.warn-xml-class-has-changed"; + String COMPILER_WARN_UNLIKELY_FUNCTION_VALUE = "--compiler.warn-unlikely-function-value"; + String COMPILER_WARN_SLOW_TEXT_FIELD_ADDITION = "--compiler.warn-slow-text-field-addition"; + String COMPILER_WARN_SCOPING_CHANGE_IN_THIS = "--compiler.warn-scoping-change-in-this"; + String COMPILER_WARN_NUMBER_FROM_STRING_CHANGES = "--compiler.warn-number-from-string-changes"; + String COMPILER_WARN_NO_TYPE_DECL = "--compiler.warn-no-type-decl"; + String COMPILER_WARN_NO_EXPLICIT_SUPER_CALL_IN_CONSTRUCTOR = "--compiler.warn-no-explicit-super-call-in-constructor"; + String COMPILER_WARN_NO_CONSTRUCTOR = "--compiler.warn-no-constructor"; + String COMPILER_WARN_NEGATIVE_UINT_LITERAL = "--compiler.warn-negative-uint-literal"; + String COMPILER_WARN_MISSING_NAMESPACE_DECL = "--compiler.warn-missing-namespace-decl"; + String COMPILER_WARN_LEVEL_NOT_SUPPORTED = "--compiler.warn-level-not-supported"; + String COMPILER_WARN_INTERNAL_ERROR = "--compiler.warn-internal-error"; + String COMPILER_WARN_INSTANCE_OF_CHANGES = "--compiler.warn-instance-of-changes"; + String COMPILER_WARN_IMPORT_HIDES_CLASS = "--compiler.warn-import-hides-class"; + String COMPILER_WARN_FOR_VAR_IN_CHANGES = "--compiler.warn-for-var-in-changes"; + String COMPILER_WARN_DUPLICATE_VARIABLE_DEF = "--compiler.warn-duplicate-variable-def"; + String COMPILER_WARN_DUPLICATE_ARGUMENT_NAMES = "--compiler.warn-duplicate-argument-names"; + String COMPILER_WARN_DEPRECATED_PROPERTY_ERROR = "--compiler.warn-deprecated-property-error"; + String COMPILER_WARN_DEPRECATED_FUNCTION_ERROR = "--compiler.warn-deprecated-function-error"; + String COMPILER_WARN_DEPRECATED_EVENT_HANDLER_ERROR = "--compiler.warn-deprecated-event-handler-error"; + String COMPILER_WARN_CONSTRUCTOR_RETURNS_VALUE = "--compiler.warn-constructor-returns-value"; + String COMPILER_WARN_CONST_NOT_INITIALIZED = "--compiler.warn-const-not-initialized"; + String COMPILER_WARN_CLASS_IS_SEALED = "--compiler.warn-class-is-sealed"; + String COMPILER_WARN_CHANGES_IN_RESOLVE = "--compiler.warn-changes-in-resolve"; + String COMPILER_WARN_BOOLEAN_CONSTRUCTOR_WITH_NO_ARGS = "--compiler.warn-boolean-constructor-with-no-args"; + String COMPILER_WARN_BAD_UNDEFINED_COMPARISON = "--compiler.warn-bad-undefined-comparison"; + String COMPILER_WARN_BAD_NULL_COMPARISON = "--compiler.warn-bad-null-comparison"; + String COMPILER_WARN_BAD_NULL_ASSIGNMENT = "--compiler.warn-bad-null-assignment"; + String COMPILER_WARN_BAD_NAN_COMPARISON = "--compiler.warn-bad-nan-comparison"; + String COMPILER_WARN_BAD_ES3_TYPE_PROP = "--compiler.warn-bad-es3-type-prop"; + String COMPILER_WARN_BAD_ES3_TYPE_METHOD = "--compiler.warn-bad-es3-type-method"; + String COMPILER_WARN_BAD_DATE_CAST = "--compiler.warn-bad-date-cast"; + String COMPILER_WARN_BAD_BOOL_ASSIGNMENT = "--compiler.warn-bad-bool-assignment"; + String COMPILER_WARN_BAD_ARRAY_CAST = "--compiler.warn-bad-array-cast"; + String COMPILER_WARN_ASSIGNMENT_WITHIN_CONDITIONAL = "--compiler.warn-assignment-within-conditional"; + String COMPILER_WARN_ARRAY_TOSTRING_CHANGES = "--compiler.warn-array-tostring-changes"; + String COMPILER_VERBOSE_STACKTRACES = "--compiler.verbose-stacktraces"; + String COMPILER_USE_RESOURCE_BUNDLE_METADATA = "--compiler.use-resource-bundle-metadata"; + String COMPILER_THEME = "--compiler.theme"; + String COMPILER_STRICT = "--compiler.strict"; + String COMPILER_SOURCE_PATH = "--compiler.source-path"; + String COMPILER_SHOW_UNUSED_TYPE_SELECTOR_WARNINGS = "--compiler.show-unused-type-selector-warnings"; + String COMPILER_SHOW_DEPRECATION_WARNINGS = "--compiler.show-deprecation-warnings"; + String COMPILER_SHOW_SHADOWED_DEVICE_FONT_WARNINGS = "--compiler.show-shadowed-device-font-warnings"; + String COMPILER_SHOW_BINDING_WARNINGS = "--compiler.show-binding-warnings"; + String COMPILER_SHOW_ACTIONSCRIPT_WARNINGS = "--compiler.show-actionscript-warnings"; + String COMPILER_SERVICES = "--compiler.services"; + String COMPILER_OPTIMIZE = "--compiler.optimize"; + String COMPILER_NAMESPACES_NAMESPACE = "--compiler.namespaces.namespace"; + String COMPILER_MOBILE = "--compiler.mobile"; + String COMPILER_LOCALE = "--compiler.locale"; + String COMPILER_LIBRARY_PATH = "--compiler.library-path"; + String COMPILER_INCLUDE_LIBRARIES = "--compiler.include-libraries"; + String COMPILER_KEEP_GENERATED_ACTIONSCRIPT = "--compiler.keep-generated-actionscript"; + String COMPILER_KEEP_AS3_METADATA = "--compiler.keep-as3-metadata"; + String COMPILER_KEEP_ALL_TYPE_SELECTORS = "--compiler.keep-all-type-selectors"; + String COMPILER_HEADLESS_SERVER = "--compiler.headless-server"; + String COMPILER_FONTS_MAX_GLYPHS_PER_FACE = "--compiler.fonts.max-glyphs-per-face"; + String COMPILER_FONTS_MAX_CACHED_FONTS = "--compiler.fonts.max-cached-fonts"; + String COMPILER_FONTS_MANAGERS = "--compiler.fonts.managers"; + String COMPILER_FONTS_LOCAL_FONT_PATHS = "--compiler.fonts.local-font-paths"; + String COMPILER_FONTS_LOCAL_FONTS_SNAPSHOT = "--compiler.fonts.local-fonts-snapshot"; + String COMPILER_FONTS_LANGUAGES_LANGUAGE_RANGE = "--compiler.fonts.languages.language-range"; + String COMPILER_FONTS_FLASH_TYPE = "--compiler.fonts.flash-type"; + String COMPILER_FONTS_ADVANCED_ANTI_ALIASING = "--compiler.fonts.advanced-anti-aliasing"; + String COMPILER_EXTERNAL_LIBRARY_PATH = "--compiler.external-library-path"; + String COMPILER_ES = "--compiler.es"; + String COMPILER_DEFAULTS_CSS_URL = "--compiler.defaults-css-url"; + String COMPILER_DEBUG = "--compiler.debug"; + String COMPILER_COMPRESS = "--compiler.compress"; + String COMPILER_CONTEXT_ROOT = "--compiler.context-root"; + String COMPILER_AS3 = "--compiler.as3"; + String COMPILER_ALLOW_SOURCE_PATH_OVERLAP = "--compiler.allow-source-path-overlap"; + String COMPILER_ACTIONSCRIPT_FILE_ENCODING = "--compiler.actionscript-file-encoding"; + String COMPILER_ACCESSIBLE = "--compiler.accessible"; + String TARGET_PLAYER = "--target-player"; + String RUNTIME_SHARED_LIBRARY_PATH = "--runtime-shared-library-path"; + String VERIFY_DIGESTS = "--verify-digests"; + String COMPILER_COMPUTE_DIGEST = "--compute-digest"; + String COMPILER_DEFINE = "--compiler.define"; + String COMPILER_MXML_COMPATIBILITY = "--compiler.mxml.compatibility-version"; + String COMPILER_EXTENSIONS = "--compiler.extensions.extension"; + String REMOVE_UNUSED_RSLS = "--remove-unused-rsls"; + String RUNTIME_SHARED_LIBRARY_SETTINGS_FORCE_RSLS = "--runtime-shared-library-settings.force-rsls"; + String RUNTIME_SHARED_LIBRARY_SETTINGS_APPLICATION_DOMAIN = "--runtime-shared-library-settings.application-domain"; +}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java b/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java new file mode 100644 index 0000000..738eeb9 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java @@ -0,0 +1,73 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 flex2.tools.oem.internal; + +import flex2.tools.oem.Message; + +/** + * A generic implementation of Message. + * + * @version 2.0.1 + * @author Clement Wong + */ +class GenericMessage implements Message +{ + GenericMessage(Message message) + { + this(message.getLevel(), message.getPath(), message.getLine(), message.getColumn(), message.toString()); + } + + GenericMessage(String level, String path, int line, int col, String message) + { + this.level = level; + this.path = path; + this.line = line; + this.col = col; + this.message = message; + } + + private String level, path, message; + private int line, col; + + public int getColumn() + { + return col; + } + + public String getLevel() + { + return level; + } + + public int getLine() + { + return line; + } + + public String getPath() + { + return path; + } + + public String toString() + { + return message; + } +} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java b/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java new file mode 100644 index 0000000..6062445 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java @@ -0,0 +1,132 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 flex2.tools.oem.internal; + +import java.util.HashMap; +import java.util.Map; + +import flex2.compiler.common.Configuration; +import flex2.compiler.config.ConfigurationBuffer; +import flex2.compiler.config.ConfigurationException; +import flex2.compiler.config.ConfigurationInfo; +import flex2.compiler.config.ConfigurationValue; +import flex2.tools.CompcConfiguration; + +/** + * A configuration that extends CompcConfiguration by adding options + * for -loadConfig and -compute-digest. + * + * @version 2.0.1 + * @author Clement Wong + */ +public class LibraryCompilerConfiguration extends CompcConfiguration +{ + static + { + outputRequired = false; + } + + public static Map<String, String> getAliases() + { + Map<String, String> map = new HashMap<String, String>(); + map.putAll(Configuration.getAliases()); + map.remove("o"); + return map; + } + + protected void validateSwcInputs() throws ConfigurationException + { + // Skip validating the inputs, because they are provided via the OEM API. + } + + // + // 'generate-link-report' option + // + + private boolean generateLinkReport; + + public boolean generateLinkReport() + { + return generateLinkReport || super.generateLinkReport(); + } + + public void keepLinkReport(boolean b) + { + generateLinkReport = b; + } + + // + // 'generate-size-report' option + // + + private boolean generateSizeReport; + + public boolean generateSizeReport() + { + return generateSizeReport || super.generateSizeReport(); + } + + public void keepSizeReport(boolean b) + { + generateSizeReport = b; + } + + // + // 'load-config' option + // + + // dummy, ignored - pulled out of the buffer + public void cfgLoadConfig(ConfigurationValue cv, String filename) throws ConfigurationException + { + } + + public static ConfigurationInfo getLoadConfigInfo() + { + return new ConfigurationInfo( 1, "filename" ) + { + public boolean allowMultiple() + { + return true; + } + }; + } + + // + // compute-digest option + // + + private boolean computeDigest = true; + + public boolean getComputeDigest() + { + return computeDigest; + } + + /** + * compute-digest option + * + * @param cv + * @param b + */ + public void cfgComputeDigest(ConfigurationValue cv, boolean b) + { + computeDigest = b; + } +} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java b/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java new file mode 100644 index 0000000..6732574 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java @@ -0,0 +1,470 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 flex2.tools.oem.internal; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; + +import flex2.compiler.common.Configuration; +import flex2.compiler.common.FramesConfiguration.FrameInfo; +import flex2.compiler.config.ConfigurationBuffer; +import flex2.compiler.config.ConfigurationException; +import flex2.tools.ToolsConfiguration; + +/** + * A configuration that extends ToolsConfiguration by adding link + * specific options. + * + * @version 2.0.1 + * @author Clement Wong + */ +/* + * TODO Jono: this should really *implement* flex2.linker.Configuration + * and not extend ToolsConfiguration to keep us honest about settings + * required for linking -- options that were not part of the original + * config are currently ignored and their values instead come from the + * inherited ToolsConfiguration, and are the default values (rather + * than the ones coming from original). + * + * Example: I forgot to implement getTargetPlayerMajorVersion() here, + * and it instead came from super, so the value set on the command line + * was totally ignored. + */ +public class LinkerConfiguration extends ToolsConfiguration implements flex2.linker.LinkerConfiguration +{ + public static Map<String, String> getAliases() + { + Map<String, String> map = new HashMap<String, String>(); + map.putAll(Configuration.getAliases()); + map.remove("o"); + return map; + } + + public void validate( ConfigurationBuffer cfgbuf ) throws ConfigurationException + { + super.validate(cfgbuf); + } + + private flex2.linker.LinkerConfiguration original; + private Set args; + + public void setOriginalConfiguration(flex2.linker.LinkerConfiguration original, Set args, Set<String> includes, Set<String> excludes) + { + this.original = original; + this.args = args; + + Set s = getIncludes(); + addIncludes(s == null || s.size() == 0 ? original.getIncludes() : includes); + s = getExterns(); + addExterns(s == null || s.size() == 0 ? original.getExterns() : excludes); + } + + // flex2.linker.Configuration methods... + + public int backgroundColor() + { + if (args.contains(ConfigurationConstants.DEFAULT_BACKGROUND_COLOR)) + { + return super.backgroundColor(); + } + else + { + return original.backgroundColor(); + } + } + + public String debugPassword() + { + if (args.contains(ConfigurationConstants.DEBUG_PASSWORD)) + { + return super.debugPassword(); + } + else + { + return original.debugPassword(); + } + } + + public int defaultHeight() + { + if (args.contains(ConfigurationConstants.DEFAULT_SIZE)) + { + return super.defaultHeight(); + } + else + { + return original.defaultHeight(); + } + } + + public int defaultWidth() + { + if (args.contains(ConfigurationConstants.DEFAULT_SIZE)) + { + return super.defaultWidth(); + } + else + { + return original.defaultWidth(); + } + } + + public boolean debug() + { + if (args.contains(ConfigurationConstants.COMPILER_DEBUG)) + { + return super.debug(); + } + else + { + return original.debug(); + } + } + + public Set<String> getExterns() + { + return super.getExterns(); + } + + public List<FrameInfo> getFrameList() + { + if (args.contains(ConfigurationConstants.FRAMES_FRAME)) + { + return super.getFrameList(); + } + else + { + return original.getFrameList(); + } + } + + public int getFrameRate() + { + if (args.contains(ConfigurationConstants.DEFAULT_FRAME_RATE)) + { + return super.getFrameRate(); + } + else + { + return original.getFrameRate(); + } + } + + public Set<String> getIncludes() + { + return super.getIncludes(); + } + + public String getLinkReportFileName() + { + return null; + } + + public String getMainDefinition() + { + return original.getMainDefinition(); + } + + public String getMetadata() + { + if (args.contains(ConfigurationConstants.METADATA_CONTRIBUTOR) || + args.contains(ConfigurationConstants.METADATA_CREATOR) || + args.contains(ConfigurationConstants.METADATA_DATE) || + args.contains(ConfigurationConstants.METADATA_LANGUAGE) || + args.contains(ConfigurationConstants.METADATA_LOCALIZED_DESCRIPTION) || + args.contains(ConfigurationConstants.METADATA_LOCALIZED_TITLE) || + args.contains(ConfigurationConstants.METADATA_PUBLISHER) || + args.contains(ConfigurationConstants.RAW_METADATA)) + { + return super.getMetadata(); + } + else + { + return original.getMetadata(); + } + } + + public String getRBListFileName() + { + return null; + } + + public SortedSet<String> getResourceBundles() + { + return original.getResourceBundles(); + } + + public String getRootClassName() + { + return original.getRootClassName(); + } + + public int getScriptRecursionLimit() + { + if (args.contains(ConfigurationConstants.DEFAULT_SCRIPT_LIMITS)) + { + return super.getScriptRecursionLimit(); + } + else + { + return original.getScriptRecursionLimit(); + } + } + + public int getScriptTimeLimit() + { + if (args.contains(ConfigurationConstants.DEFAULT_SCRIPT_LIMITS)) + { + return super.getScriptTimeLimit(); + } + else + { + return original.getScriptTimeLimit(); + } + } + + public Set<String> getUnresolved() + { + return original.getUnresolved(); + } + + public String height() + { + return original.height(); + } + + public String heightPercent() + { + return original.heightPercent(); + } + + public boolean verboseStacktraces() + { + if (args.contains(ConfigurationConstants.COMPILER_DEBUG) || + args.contains(ConfigurationConstants.COMPILER_VERBOSE_STACKTRACES)) + { + return super.verboseStacktraces(); + } + else + { + return original.verboseStacktraces(); + } + } + + public boolean lazyInit() + { + return original.lazyInit(); + } + + public boolean optimize() + { + if (args.contains(ConfigurationConstants.COMPILER_OPTIMIZE)) + { + return super.optimize(); + } + else + { + return original.optimize(); + } + } + + public String pageTitle() + { + return original.pageTitle(); + } + + public boolean scriptLimitsSet() + { + if (args.contains(ConfigurationConstants.DEFAULT_SCRIPT_LIMITS)) + { + return super.scriptLimitsSet(); + } + else + { + return original.scriptLimitsSet(); + } + } + + public int getSwfVersion() + { + if (args.contains(ConfigurationConstants.SWF_VERSION)) + { + return super.getSwfVersion(); + } + else + { + return original.getSwfVersion(); + } + } + + public void setMainDefinition(String mainDefinition) + { + original.setMainDefinition(mainDefinition); + } + + public void setRootClassName(String rootClassName) + { + original.setRootClassName(rootClassName); + } + + public boolean useNetwork() + { + if (args.contains(ConfigurationConstants.USE_NETWORK)) + { + return super.useNetwork(); + } + else + { + return original.useNetwork(); + } + } + + public String width() + { + return original.width(); + } + + public String widthPercent() + { + return original.widthPercent(); + } + + private boolean generateLinkReport; + + public void keepLinkReport(boolean b) + { + generateLinkReport = b; + } + + public boolean generateLinkReport() + { + return generateLinkReport || super.generateLinkReport(); + } + + private boolean generateSizeReport; + + public void keepSizeReport(boolean b) + { + generateSizeReport = b; + } + + public boolean generateSizeReport() + { + return generateSizeReport || super.generateSizeReport(); + } + + public String[] getMetadataToKeep() + { + if (args.contains(ConfigurationConstants.COMPILER_KEEP_AS3_METADATA)) + { + return super.getMetadataToKeep(); + } + else + { + return original.getMetadataToKeep(); + } + } + + public boolean getComputeDigest() + { + if (args.contains(ConfigurationConstants.COMPILER_COMPUTE_DIGEST)) + { + return super.getComputeDigest(); + } + else + { + return original.getComputeDigest(); + } + } + + public String getCompatibilityVersionString() + { + if (args.contains(ConfigurationConstants.COMPILER_MXML_COMPATIBILITY)) + { + return super.getCompatibilityVersionString(); + } + else + { + return original.getCompatibilityVersionString(); + } + } + + + public int getCompatibilityVersion() + { + if (args.contains(ConfigurationConstants.COMPILER_MXML_COMPATIBILITY)) + { + return super.getCompatibilityVersion(); + } + else + { + return original.getCompatibilityVersion(); + } + } + + public String getOutput() + { + return null; + } + + public String getTargetFile() + { + return null; + } + + public int getTargetPlayerMajorVersion() + { + if (args.contains(ConfigurationConstants.TARGET_PLAYER)) + { + return super.getTargetPlayerMajorVersion(); + } + else + { + return original.getTargetPlayerMajorVersion(); + } + } + + public int getTargetPlayerMinorVersion() + { + if (args.contains(ConfigurationConstants.TARGET_PLAYER)) + { + return super.getTargetPlayerMinorVersion(); + } + else + { + return original.getTargetPlayerMinorVersion(); + } + } + + public int getTargetPlayerRevision() + { + if (args.contains(ConfigurationConstants.TARGET_PLAYER)) + { + return super.getTargetPlayerRevision(); + } + else + { + return original.getTargetPlayerRevision(); + } + } +}