On 5/23/19, 3:04 AM, "Carlos Rovira" <[email protected]> wrote:
Hi Alex,
El jue., 23 may. 2019 a las 3:49, Alex Harui (<[email protected]>)
escribió:
> Before we go too far in any one direction, I may not be able to respond
> fully to this thread today as there seems to be a lot to catch up on, but
> let me try to summarize the goals of the Maven build.
>
> 1) There are some helper jars (compiler-build-tools and
> compiler-jburg-types). They are built by the "utils" profile. They
> haven't changed in develop, but they will change in 0.9.6. They've been
> changed in the release_practice branch. So folks will need to use the
> "utils" profile whenever we (rarely) change those jars.
>
>
Ok, so we should put in wiki that utils profile is needed for that case,
but not for "initial" build case. I'm worried to try to simplify
instructions and process to minumun needs to avoid new comers confusion.
So, I'll mention utils profile as a special case to execute when needed.
As soon as I merge release_practice into develop, you will need to use the
utils profile to build from scratch.
> 2) Adobe will probably never publish official playerglobal on Maven.
> There is a whole bunch of logic in the Mavenizer to address licensing
> acceptance issues.
>
For what we discussed in the thread, seems playerglobal is already on maven
official repos, so my guest is we are served with that and don't need adobe
host it in a maven repo.
Adobe has not given permission to distribute playerglobal in this way so we
cannot use it.
>
> 3) IIRC, the most recent changes were to allow the Maven build to work
> without requiring SWF versions of artifacts and probably
> playerglobal/airglobal. So, adding hard requirements to playerglobal will
> defeat this capability unless those dependencies are in the appropriate
> Maven profile.
>
Right now we need to do this:
mvn -s settings-template.xml clean install -Pgenerate-swcs-for-swf
so this means something is not working ok in a clean environment for first
build/install?
For now, the current instructions works, but if that's the case, we should
try to fix this in the future, although seems this is not urgent while
people is capable of build Royale in the current way.
The goal for Maven, like the goal for the Ant builds, is to not require Adobe
artifacts and build JS-only versions. Building SWF versions is opt-in. I'm
not surprised there are bugs after these changes, but the solutions should
consider that there are two different sets of output.
>
> 4) The CI builds (builds.a.o and apachroyalecibuild) are good reference
> examples of Maven building things correctly on Windows. You can compare
> your setup and console output to those builds.
>
I was building without problem and still can build without problem. My
concern was for the case people tries to build maven for the first time,
and was where I found problems. This problems are as well not reproduced in
machines that are already working, since they pass the initial setup.
>
> 5) There might be some assumption that airglobal and/or playerglobal exist
> to determine whether the build is going to try to output SWF versions of
> the artifacts or not.
>
> 6) The default, IIRC, is to not require airglobal/playerglobal and build a
> JS-Only set of artifacts similar to how it is done in the Ant builds.
>
So, this wiki walkthrough:
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Fwiki%2FBuild-Apache-Royale-with-Maven&data=02%7C01%7Caharui%40adobe.com%7Cf3c261d90f824385445a08d6df65f91c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636942026440791368&sdata=wTZxsgMFU%2Fb8FSW%2BiuHCYfTk50wAIDEQBWi8yy1KjN8%3D&reserved=0
is describing whole process without differentiation.
can be updated to build with maven SWF/JS and in the other hand only JS?
I think the actual page description us for SWF/JS, and I personally never
try / or know how to build just JS, what would be very interesting since
many people will really only build for JS, and if sometime in the future we
have other interesting target like WebAsembly, will want to add it and
build JS/WEBASM
I was unaware of the page so it didn’t get updated with these changes to not
require SWF artifacts. So it does need updating, but it would be best to first
make it clear that there are two sets of output.
>
> Unfortunately, that means that most of the ideas I've read while skimming
> over this thread so far may not be correct.
>
I think you have to have in mind that we all was working right with our
current environment and that the problem comes from try to start from
scratch. Subsequents builds instructions are simpler since requires shorter
instructions.
You should try to rename your "repository" folder and create a new one and
try to build with maven to see what you find and if we can improve actual
findings.
Someday I will find time to do that. May not be today. It is, IMO, more
important for others to understand the goals and how this stuff works so it
isn't all on me. My understanding of Maven, which I am not an expert, is that
what is in your local repository shouldn’t matter. Maven goes and gets the
dependencies you ask for in the pom.xml. The only "trick" is how the Mavenizer
extension works. That is the only thing that doesn't fetch from Maven Central.
So renaming or flushing the repository "shouldn't" make a difference and
someone should figure out why, but only after making sure the configurations
make sense. Maybe all of the SWC POMs in royale-asjs need a profile that
opt-in the SWF artifacts. That might be the actual issue. And maybe we set
skipTests=false in the compiler if not using SWF artifacts via some profile.
The key point is that you can't just "get it working for you". We have to
maintain the two sets of outputs for others.
HTH,
-Alex