1 2 Previous Next 25 Replies Latest reply on Apr 27, 2014 11:27 PM by gmlopezdev Branched from an earlier discussion.

    Building EAP6 from source

    cpuffalt

      Jason Greene wrote:

       

      Now lets compare that to Red Hat. Unlike Oracle, we are 100% open source and give you the source to everything, including our product versions. The only thing we don't provide is the convenience of binaries that go into our product versions. although we do give you tags and source zips. You can look at our release history and can see that we have always done maintenance releases for our community versions, it's just that we only do them up until we hit the next product rev, at which point we start on the next community minor/major release stream. So in this case after EAP6 Beta the next community stream is 7.2.x

       

      Out of curiousity more than anything else I just downloaded the EAP6 source code from the link above and tried to build it, but the build fails:

       

       

      $ ./build.sh
      ./tools/maven/bin/mvn -s tools/maven/conf/settings.xml install -Dts.smoke 
      [INFO] Scanning for projects...
      [ERROR] The build could not read 1 project -> [Help 1]
      [ERROR]   
      [ERROR]   The project com.jboss.eap:jboss-eap-parent:6.0.0.CR1 (/space/downloads/jboss-eap-6.0-src/pom.xml) has 1 error
      [ERROR]     Non-resolvable parent POM: Failure to find org.jboss:jboss-parent:pom:8-redhat-1 in WARNING, replace this url with the location to the EAP 6 maven repository was cached in the local repository, resolution will not be reattempted until the update interval of mead-eap6 has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 26, column 13 -> [Help 2]
      [ERROR] 
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR] 
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
      [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
      

       

       

      The readme suggests that running build.sh is all that is required but this doesn't work for me.  Not sure if this is just an issue due to maven repositories not being synced yet since the release is so new?

       

      Thanks,

      Corey

        • 1. Re: Building EAP6 from source
          richsharples

          Corey, thanks for the feedback,  I'd like to make sure you get the right attention you need and help get this issue resolved.  Red Hat has a Global Support organization and a depth of online resources dedicated to addressing technical questions, like yours, from start to finish.

           

          Please start here for knowledgebase, videos, Groups discussions, and many more technical resources:

          http://access.redhat.com

           

          If you have any difficulties or questions, please contact our customer service team, so they may help you further.

          https://access.redhat.com/support/contact/customerService.html

           

          Additionally, you can find Red Hat Support phone numbers and case management information here:

          https://access.redhat.com/support/

           

           

          Thank you and best regards, Rich Sharples

          Director, Product Management, Red Hat

          • 2. Re: Building EAP6 from source
            mauriciomag

            Hi Rich,

             

            There is already a solution to this issue?

             

            If the product is open source we have the right to make the building using this source code.

             

            [mmagnani@localhost jboss-eap-6.0-src]$ ./build.sh

            ./tools/maven/bin/mvn -s tools/maven/conf/settings.xml install -Dts.smoke

            [INFO] Scanning for projects...

            [ERROR] The build could not read 1 project -> [Help 1]

            [ERROR]  

            [ERROR]   The project com.jboss.eap:jboss-eap-parent:6.0.0.CR1 (/home/mmagnani/Development/jboss-eap/jboss-eap-6.0-src/pom.xml) has 1 error

            [ERROR]     Non-resolvable parent POM: Failure to find org.jboss:jboss-parent:pom:8-redhat-1 in WARNING, replace this url with the location to the EAP 6 maven repository was cached in the local repository, resolution will not be reattempted until the update interval of mead-eap6 has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 26, column 13 -> [Help 2]

            [ERROR]

            [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

            [ERROR] Re-run Maven using the -X switch to enable full debug logging.

            [ERROR]

            [ERROR] For more information about the errors and possible solutions, please read the following articles:

            [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

            [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

             

            Best Regards,

             

            --Mauricio

            • 3. Re: Building EAP6 from source
              hsn10

              You need to add repo: http://maven.repository.redhat.com/techpreview/all

               

              but its still not enough. Another problem is

               

              [ERROR] Plugin org.apache.maven.plugins:maven-enforcer-plugin:1.0-redhat-1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-enforcer-plugin:jar:1.0-redhat-1: Could not find artifact org.apache.maven.plugins:maven-enforcer-plugin:pom:1.0-redhat-1 in central

              • 4. Re: Building EAP6 from source
                mauriciomag

                As all we know just reading the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 (also inside the EAP 6 package), we can clearly read that all Libraries under this license must provide all liked codes that this library use and we can make changes to the library and RECOMPILE it.

                 

                Since JBoss EAP 6 is under Lesser License I'll ask you again Mr Rich Sharples, how community can do this magic without the linked libraries provided with JBoss EAP 6?

                 

                I don't ask anything exotic, and this is not a flame or a FUD. I just want to use EAP as RedHat says it's open source. I hope this kind of open source is not just to take advantages and get more customers like others companies, I believe in real open source that Red Hat does, so again Rich, help me believe this is just a bug in EAP source code released.

                 

                Please I sorry if I understood wrong the License, maybe there is another context to understand that I don't saw. Feel free to discuss this as well.

                 

                Follow the piece of License for who doesn't know:

                 

                "(...) For example, if you distribute copies of the library, whether gratis

                or for a fee, you must give the recipients all the rights that we gave

                you.  You must make sure that they, too, receive or can get the source

                code.  If you link other code with the library, you must provide

                complete object files to the recipients, so that they can relink them

                with the library after making changes to the library and recompiling

                it.  And you must show them these terms so they know their rights. (...)"

                 

                Thanks.

                • 5. Re: Building EAP6 from source
                  richsharples

                  Firstly sorry for the slow response - vacations, product releases, etc.

                   

                  The GPL / L-GPL source distribution and build requirements are related to the binary artifact that is being distributed. If you are a community user (and not a Red Hat subscriber) then the binary artifact in question is JBoss AS 7 and that is actually pretty straightforward to build :

                   

                  https://community.jboss.org/wiki/HackingOnAS7

                   

                  If you are a Red Hat subscriber then the binary artifact in question is JBoss EAP 6. The build process for EAP is a magnitude more complex than for AS 7 and likely for your own needs. Some of that additional complexity is due to our own security and compliance requiements; some of it simply due to the standard infrastructure we use for building and maintaining product releases. Right now we do not have a way of making EAP easily buildable for the general public (nor does the L-GPL or GPL require us to) - if you are a Red Hat subscriber then we can provide you with additional build tools, artifacts and assistance to make building EAP 6 possible - but it's still not going to be simple. So you could consider this a 'usability' bug in the EAP 6 build system - but it's a rather large bug that isn't going to be fixed easily.

                   

                  I don't know if this is a rhetorical question or if you really do have a need to build EAP 6 from source - if you can provide more details I'd be happy to discuss here or via email.

                   

                  Rich Sharples

                  Red Hat Inc.

                  • 6. Re: Building EAP6 from source
                    mauriciomag

                    Rich Sharples Thanks for your response. I use JBoss EAP 6 to write some tutorials on my blog: http://jbossdivers.wordpress.com/

                    I'd like to do a build of JBoss EAP 6 for the community here in Brazil could test this product.

                     

                    But I understand how the political support from Red Hat.

                     

                    Thank you very much for your time.

                     

                    Mauricio Magnani

                    • 7. Re: Building EAP6 from source
                      henk53

                      Rich Sharples wrote:

                       

                      Right now we do not have a way of making EAP easily buildable for the general public (nor does the L-GPL or GPL require us to)

                       

                      Hmmm, this somewhat contradicts the statements made in https://community.jboss.org/message/745808, where it was basically said that EAP (specifically the AS bits in EAP) are (of course) still open source, but that the only problem is a Red Hat trademark that's compiled into it. As a way around that, the community can just compile EAP (again, specifically the AS bits of it), from source and in that process remove this trademark.

                       

                      But now you're saying that it's practically not even possible to build EAP, since key tools needed for that build, and key pieces of information are not being made available? Jason Greene gave a very throrough explanation about the situation and strategy, and I definitely understand and respect his point (yes, money needs to be made, it should not be -too- simple to obtain EAP), but unintended or not, this may give rise to elegations that it's intentionally made "impossible" to build EAP.

                       

                      This would still not be the end of the world, but this feels a little awkward when Jason Greene says:

                       

                      Essentially we give you three choices:

                      [...]

                      3. Self build and support  EAP

                      • 8. Re: Building EAP6 from source
                        henk53

                        I have one more question about the build process if you don't mind

                         

                        It's about the repository used to commit those additional changes for EAP. We know that each EAP release is branched off from an AS release. E.g. JBoss EAP 6.0.0 is branched from JBoss AS 7.1.2.Final and then becomes JBoss AS 7.1.2.Final-redhat-1 when released as EAP. JBoss EAP 6.0.1 is branched from JBoss AS 7.1.3.Final and then becomes JBoss AS 7.1.3.Final-redhat-4.

                         

                        But what happens exactly between the 'master tag' in the AS repository and the release? I assume that this 'master tag' is cloned into some other repository, and that changes are made there. Then finally in this other repository tags are made as well (redhat-1, redhat-2, ... redhat-4) until eventually some release is made. Simultaneously, there are also "ER" releases, which stand for "Engineering Release". E.g. ER 4: https://issues.jboss.org/browse/JBPAPP/fixforversion/12320259

                         

                        Does e.g. redhat-4 correspond to ER 4, or is the 4 here a coincidence?

                         

                        What is the URL of the repository where the additional EAP changes are committed?

                        • 9. Re: Building EAP6 from source
                          ctomc

                          Hi,

                           

                          you can find all sources for EAP releases on ftp://ftp.redhat.com/redhat/jbeap/

                           

                          the number -4 is just the internal rebuild number, aka it was build for the 4th time, has nothing to do with ER4

                           

                          --

                          tomaz

                          • 10. Re: Building EAP6 from source
                            henk53

                            Tomaz Cerar wrote:

                             

                            you can find all sources for EAP releases on ftp://ftp.redhat.com/redhat/jbeap/

                             

                            Thanks for the pointer, I hadn't seen that one before

                             

                            But, what is there also a real repository for EAP? Like e.g. git, svn, hg, etc?

                            • 11. Re: Building EAP6 from source
                              sewatech

                              Tomaz Cerar a écrit:

                               

                              you can find all sources for EAP releases on ftp://ftp.redhat.com/redhat/jbeap/

                               

                              I tried to build that sources, but it failed. I succeeded to build it after patching the Maven EAP repository (http://maven.repository.redhat.com/techpreview/).

                               

                              I've share the result on GitHub : https://github.com/hasalex/eap-build

                              • 12. Re: Building EAP6 from source
                                pauloj

                                Alexis, great work! Thank you! I forked your project and adapt it to a build on my Mac. Also, I written a brazilian blog post about it! http://j.mp/VW1uwp

                                • 13. Re: Building EAP6 from source
                                  sewatech

                                  I just noticed that anonymous access to ftp://ftp.redhat.com/redhat/jbeap/ has been closed. Hey RedHat are you able to make your stable choices over the time, or is it in your you DNA to change your policy every now and then ?

                                   

                                  That's sad. Access to EAP source code is getting more and more difficult.

                                  • 14. Re: Building EAP6 from source
                                    ctomc

                                    Alexis Hassler wrote:

                                     

                                    I just noticed that anonymous access to ftp://ftp.redhat.com/redhat/jbeap/ has been closed. Hey RedHat are you able to make your stable choices over the time, or is it in your you DNA to change your policy every now and then ?

                                     

                                    That's sad. Access to EAP source code is getting more and more difficult.

                                    FTP is annoymously accesably without any problems.

                                    maybe issue is on your side, maybe firewall  / proxy problem?

                                     

                                     

                                    --

                                    tomaz

                                    1 2 Previous Next