Yes, copying some kind of file would be better probably. No clue how to do that in Maven, but I guess I'll see if we have some other code that copies files from your suggested src/main/resources/config location.
-- Josh Tynjala Bowler Hat LLC <https://bowlerhat.dev> On Mon, Dec 9, 2019 at 8:53 PM Alex Harui <aha...@adobe.com.invalid> wrote: > Is there a reason this wasn't fixed by changing the *.xml files in > royale-maven-plugin/src/main/resources/config? > > I would rather not see this in code. > > Of course, I could be wrong... > -Alex > > On 12/9/19, 1:29 PM, "joshtynj...@apache.org" <joshtynj...@apache.org> > wrote: > > This is an automated email from the ASF dual-hosted git repository. > > joshtynjala pushed a commit to branch develop > in repository > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-compiler.git&data=02%7C01%7Caharui%40adobe.com%7Cde0a7f8153fe4b4c2a2808d77ceedbe5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637115237688041632&sdata=H85oQILNteD2V30NtzN0RGRKQu98PVLYO%2FNPn6VfKXI%3D&reserved=0 > > > The following commit(s) were added to refs/heads/develop by this push: > new 68133c6 royale-maven-plugin: BaseMojo provides missing > mxml-2009-manifest.xml that is required to use core types like Array, > String, Boolean, etc. in MXML (closes #103) > 68133c6 is described below > > commit 68133c6a17ad593d970b2972d99acae094d4ed20 > Author: Josh Tynjala <joshtynj...@apache.org> > AuthorDate: Mon Dec 9 12:53:02 2019 -0800 > > royale-maven-plugin: BaseMojo provides missing > mxml-2009-manifest.xml that is required to use core types like Array, > String, Boolean, etc. in MXML (closes #103) > --- > .../java/org/apache/royale/maven/BaseMojo.java | 45 > +++++++++++++++++++++- > 1 file changed, 44 insertions(+), 1 deletion(-) > > diff --git > a/royale-maven-plugin/src/main/java/org/apache/royale/maven/BaseMojo.java > b/royale-maven-plugin/src/main/java/org/apache/royale/maven/BaseMojo.java > index c4c91c2..6cf3509 100644 > --- > a/royale-maven-plugin/src/main/java/org/apache/royale/maven/BaseMojo.java > +++ > b/royale-maven-plugin/src/main/java/org/apache/royale/maven/BaseMojo.java > @@ -108,6 +108,21 @@ public abstract class BaseMojo > > protected abstract File getOutput() throws MojoExecutionException; > > + protected String getLanguageManifestFileName() > + { > + return "mxml-2009-manifest.xml"; > + } > + > + protected String getLanguageNamespaceURI() > + { > + return " > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.adobe.com%2Fmxml%2F2009&data=02%7C01%7Caharui%40adobe.com%7Cde0a7f8153fe4b4c2a2808d77ceedbe5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637115237688041632&sdata=71log%2FgMvbwKu1eHCxwQ0pw1DXC80grNNoxSjOFzHG8%3D&reserved=0 > "; > + } > + > + protected String getLanguageManifestContents() > + { > + return "<?xml > version=\"1.0\"?>\n<componentPackage>\n<component id=\"Array\" > class=\"Array\" lookupOnly=\"true\"/>\n<component id=\"Boolean\" > class=\"Boolean\" lookupOnly=\"true\"/>\n<component id=\"Class\" > class=\"Class\" lookupOnly=\"true\"/>\n<component id=\"Date\" > class=\"Date\" lookupOnly=\"true\"/>\n<component id=\"DesignLayer\" > class=\"mx.core.DesignLayer\"/>\n<component id=\"Function\" > class=\"Function\" lookupOnly=\"true\"/>\n<component id=\"int\" > class=\"int\" lookupOnl [...] > + } > + > protected VelocityContext getVelocityContext() throws > MojoExecutionException { > VelocityContext context = new VelocityContext(); > > @@ -130,7 +145,12 @@ public abstract class BaseMojo > context.put("swfExternalLibraries", swfExternalLibraries); > context.put("themeLibraries", themeLibraries); > context.put("sourcePaths", sourcePaths); > - context.put("namespaces", getNamespaces()); > + List<Namespace> namespaces = getNamespaces(); > + // not good to put the language namespace into > getNamespaces() because > + // the result of getNamespaces() is used in places where the > language > + // namespace should not be included. > + namespaces.add(getLanguageNamespace()); > + context.put("namespaces", namespaces); > context.put("jsNamespaces", getNamespacesJS()); > context.put("namespaceUris", getNamespaceUris()); > context.put("includeClasses", includeClasses); > @@ -163,6 +183,14 @@ public abstract class BaseMojo > return namespaces; > } > > + protected Namespace getLanguageNamespace() { > + File manifestFile = new File(outputDirectory, > getLanguageManifestFileName()); > + Namespace namespace = new Namespace(); > + namespace.setUri(getLanguageNamespaceURI()); > + namespace.setManifest(manifestFile.getAbsolutePath()); > + return namespace; > + } > + > protected List<Namespace> getNamespacesJS() { > List<Namespace> namespaces = new LinkedList<Namespace>(); > if(this.namespaces != null) { > @@ -293,6 +321,21 @@ public abstract class BaseMojo > } > } > } > + File manifestFile = new File(outputDirectory, > getLanguageManifestFileName()); > + try { > + writer = new FileWriter(manifestFile); > + writer.write(getLanguageManifestContents()); > + } catch (IOException e) { > + throw new MojoExecutionException("Error creating config > file at " + configFile.getPath()); > + } finally { > + if(writer != null) { > + try { > + writer.close(); > + } catch (IOException e) { > + throw new MojoExecutionException("Error creating > config file at " + configFile.getPath()); > + } > + } > + } > > // Get the tool group. > FlexToolRegistry toolRegistry = new FlexToolRegistry(); > > > >