You did make things a little over-complicated with your regexps :-)

1. Replace "@constructor" against "@static" in Tween.js
2. Replace "@static" against "@constructor in Tween.js

So how about just doing nothing here? ;-)

3. Replace "@static" against "@constructor in Ease.js

As Ease.js has no "@static", let's just omit that too (Eventually handled by 
the bunch I applied to all) ...

"createjs/utils/Ticker.js" is contained in both EaselJS as well as Tween 
therefore I only used the EaselJS, so I think it's ok to omit that replacement 
too ... at least now it's building correctly :-)

I did notice a problem in the compile-as-config. You only package the 
javascript sources of easeljs, I updated that to include the ones in tweenjs 
too.

One thing that might confuse you in my 
"src/main/config/compile-{as/js}-config.xml" files is that the paths here have 
to be relative to the target directory, as the plugin takes them and injects 
the external lib paths and lib paths with the ones provided by maven. I changed 
them back to the maven paths, so don't be confused, just copy them to target 
and run them from there.

Chris

________________________________________
Von: Alex Harui <aha...@adobe.com>
Gesendet: Montag, 25. April 2016 23:05
An: dev@flex.apache.org
Betreff: Re: AW: [FALCONJX] Merging Maven refactor in to develop branch

On 4/25/16, 10:38 AM, "Christofer Dutz" <christofer.d...@c-ware.de> wrote:

>No problem at all ... for me it will make things a lot easier as I no
>longer have to merge things manually ... looking forward to this :-)

I was going to push the merge, but I think the Maven build will need
fixing, and I'm not sure what is the best way to fix it.

The externs/createjs Ant build changed to download a second package, which
is TweenJS-0.6.2.
Then some new processing rules were added, namely:

<replace file="${basedir}/externs/${file}" token="@param data"
value="@param {Object} data" />
<replace file="${basedir}/externs/${file}" token="@param ratio"
value="@param {Number} ratio" />
<replace file="${basedir}/externs/${file}" token="@param target"
value="@param {Object} target" />
<replace file="${basedir}/externs/${file}" token="{any}" value="{Object}"
/>

These files get added to the list of files sent through the entire set of
filters
tweenjs/CSSPlugin.js
tweenjs/Ease.js
tweenjs/MotionGuidePlugin.js
tweenjs/SamplePlugin.js
tweenjs/Timeline.js
tweenjs/Tween.js


Then these files get special treatment:

<replaceregexp
file="${basedir}/target/EaselJS-${createjs.version}/src/tweenjs/Tween.js"
match="@constructor" replace="@static" flags="gs" />
  <replaceregexp
file="${basedir}/target/EaselJS-${createjs.version}/src/tweenjs/Tween.js"
match="@static" replace="@constructor" />
<replaceregexp
file="${basedir}/target/EaselJS-${createjs.version}/src/tweenjs/Ease.js"
match="@static" replace="@constructor" />
<replaceregexp
file="${basedir}/target/EaselJS-${createjs.version}/src/createjs/utils/Tick
er.js" match="@static" replace="@constructor" />
  <replace
file="${basedir}/target/EaselJS-${createjs.version}/src/createjs/utils/Tick
er.js" token="createjs.Ticker.addEventListener = function()"
value="createjs.Ticker.addEventListener = function(type, handler)" />


I would have just added this stuff to the pom.xml, but the part I'm not
sure about is how to handle unpacking two different packages.  In the Ant
build, I just move the second package's files into the first package's
folder so the replace filters can just run in one folder.  I'm not sure if
you want to keep them as separate folders or unzipped sources or not, and
how to adjust the maven build accordingly.



Thoughts?
-Alex



Reply via email to