You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Alex Harui <ah...@adobe.com> on 2016/09/29 17:59:53 UTC

[FalconJX][FlexJS] COMPJSC and Build order

Hi,

I'm finishing up changing the way COMPJSC works.  Right now, it generates
a pile of .js files in a folder.  Our build process requires that you then
run COMPC and specify the -include-files option to include that pile of
.js files into a final SWC.

This is insufficient for IDE users.  If you create a FlexJS Library
project, an IDE like FlashBuilder will compile the source into a SWC on
every build.  You can then go and run the COMPJSC script and generate the
pile of .js files, but then you have to force the SWC to build again so it
will pick up the .js files.  Plus you have to specify the .js files to
include in the project settings.

The proposed change is that COMPJSC can be given the same -output
parameter as COMPC and COMPJSC will inject the .js files directly into the
SWC.  This will eliminate the step of having to force the build of the SWC
after .js files are generated.  And it will mean that the resulting SWC
can be deployed to other developers on the team.

This change will require a change to the Ant build script.  Currently the
Ant build script calls COMPJSC first, then COMPC.  I am going to flip the
order because COMPJSC now expects a SWC to exist in order to stuff.  What
do we have to change in the Maven build to flip the order as well?

Thanks,
-Alex



Re: [FalconJX][FlexJS] COMPJSC and Build order

Posted by Alex Harui <ah...@adobe.com>.
Assuming "build package" means run the Ant or Maven build, there is no
need to copy generated-sources any more as all the js files are packed
into the SWC.  Should make updating faster because there will be fewer
files to copy.  But then I think you may have to shut down and restart FB
as I've seen it cache SWCs.

-Alex

On 10/13/16, 7:16 AM, "yishayw" <yi...@hotmail.com> wrote:

>I'm not sure if this is related but my build workflow has been disrupted.
>
>Previously I used to do the following:
>
>1) build package
>2) use following commands to sync build with sdk
>
>/ copy C:\dev\flexjs\flex-asjs\frameworks\js\FlexJS\libs\*.swc
>C:\dev\flexjs_builds\nightly_07\frameworks\js\FlexJS\libs
>
> copy C:\dev\flexjs\flex-asjs\frameworks\libs\*.swc
>C:\dev\flexjs_builds\nightly_07\frameworks\libs
>
> xcopy /E /Y 
>C:\dev\flexjs\flex-asjs\frameworks\js\FlexJS\generated-sources
>C:\dev\flexjs_builds\nightly_07\frameworks\js\FlexJS\generated-sources
>/
>
>3) Use FalshBuilder's external tools to build my project. This means
>running
>
> /C:\dev\flexjs_builds\nightly_07/js/bin/mxmlc.bat/
>
>with the following params:
>
>-remove-circulars
>
>/-js-output-optimization=skipAsCoercions
>-debug=true -fb "${project_loc}"
>/
>
>Recently, after updating I've found that
>/C:\dev\flexjs\flex-asjs\frameworks\js\FlexJS\generated-sources/ no longer
>exists.
>
>The workaround has been to replace the last command in step 2 with the
>following manual steps:
>
>- go to 
>/C:\dev\flexjs\flex-asjs\frameworks\projects\<project-name>\target/,
>- open up <prject-name>.swc,
>- extract the contents of
>/out/js/ 
>to
>/C:\dev\flexjs_builds\nightly_07\frameworks\js\FlexJS\generated-sources/
>
>This isn't really efficient so I'm assuming there's a better way to do it.
>
>Can you share your build workflow, or recommend one?
>
>Thanks.
>
>
>
>
>
>--
>View this message in context:
>http://apache-flex-development.2333347.n4.nabble.com/FalconJX-FlexJS-COMPJ
>SC-and-Build-order-tp55463p55743.html
>Sent from the Apache Flex Development mailing list archive at Nabble.com.


Re: [FalconJX][FlexJS] COMPJSC and Build order

Posted by yishayw <yi...@hotmail.com>.
I'm not sure if this is related but my build workflow has been disrupted.

Previously I used to do the following:

1) build package
2) use following commands to sync build with sdk

/ copy C:\dev\flexjs\flex-asjs\frameworks\js\FlexJS\libs\*.swc
C:\dev\flexjs_builds\nightly_07\frameworks\js\FlexJS\libs

 copy C:\dev\flexjs\flex-asjs\frameworks\libs\*.swc
C:\dev\flexjs_builds\nightly_07\frameworks\libs

 xcopy /E /Y C:\dev\flexjs\flex-asjs\frameworks\js\FlexJS\generated-sources
C:\dev\flexjs_builds\nightly_07\frameworks\js\FlexJS\generated-sources
/

3) Use FalshBuilder's external tools to build my project. This means running

 /C:\dev\flexjs_builds\nightly_07/js/bin/mxmlc.bat/

with the following params:

-remove-circulars

/-js-output-optimization=skipAsCoercions
-debug=true -fb "${project_loc}"
/

Recently, after updating I've found that 
/C:\dev\flexjs\flex-asjs\frameworks\js\FlexJS\generated-sources/ no longer
exists.

The workaround has been to replace the last command in step 2 with the
following manual steps:

- go to /C:\dev\flexjs\flex-asjs\frameworks\projects\<project-name>\target/,
- open up <prject-name>.swc, 
- extract the contents of 
/out/js/ 
to
/C:\dev\flexjs_builds\nightly_07\frameworks\js\FlexJS\generated-sources/

This isn't really efficient so I'm assuming there's a better way to do it.

Can you share your build workflow, or recommend one?

Thanks.





--
View this message in context: http://apache-flex-development.2333347.n4.nabble.com/FalconJX-FlexJS-COMPJSC-and-Build-order-tp55463p55743.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

AW: [FalconJX][FlexJS] COMPJSC and Build order

Posted by Christofer Dutz <ch...@c-ware.de>.
Hi Alex,


so I guess ideally this change should be done on a feature branch, so I can sort out the Maven issues and we'll merge that back as soon as all is working. I would like to ask you to create a "feature-autobuild/"-branch for that. Just give me a short note what branch the stuff is in and I'll try to sort out the Maven issues.


Chris

________________________________
Von: Alex Harui <ah...@adobe.com>
Gesendet: Donnerstag, 29. September 2016 19:59:53
An: dev@flex.apache.org
Betreff: [FalconJX][FlexJS] COMPJSC and Build order

Hi,

I'm finishing up changing the way COMPJSC works.  Right now, it generates
a pile of .js files in a folder.  Our build process requires that you then
run COMPC and specify the -include-files option to include that pile of
.js files into a final SWC.

This is insufficient for IDE users.  If you create a FlexJS Library
project, an IDE like FlashBuilder will compile the source into a SWC on
every build.  You can then go and run the COMPJSC script and generate the
pile of .js files, but then you have to force the SWC to build again so it
will pick up the .js files.  Plus you have to specify the .js files to
include in the project settings.

The proposed change is that COMPJSC can be given the same -output
parameter as COMPC and COMPJSC will inject the .js files directly into the
SWC.  This will eliminate the step of having to force the build of the SWC
after .js files are generated.  And it will mean that the resulting SWC
can be deployed to other developers on the team.

This change will require a change to the Ant build script.  Currently the
Ant build script calls COMPJSC first, then COMPC.  I am going to flip the
order because COMPJSC now expects a SWC to exist in order to stuff.  What
do we have to change in the Maven build to flip the order as well?

Thanks,
-Alex