Building master

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Building master

William Dazey
Hello!
So, I tried building master locally today (I don't really do it very often anymore and stick mostly to 2.6 & 2.7) and I gotta say, I'm really confused as to what I need to run. I tried following the instructions on the wiki (https://github.com/eclipse-ee4j/eclipselink/wiki/Building-EclipseLink#devbuild) to run tests, but it only ever ends up building everything...

Granted, I don't have much experience with maven, but I just want to run the jpa-jse bucket locally. ` mvn verify -Pmysql,test-jpa-jse` seems to build everything and runs every single testbucket. I can see the console running core tests and jpql test... Also, I didn't specify connection information for mysql. What connection information is it using?

Also, is it just me or does the build take like 20 minutes to run now with maven. Ive run it several times and it seems like everything is downloaded, but it still takes forever to build.

Also also, my HOME/build.properties aren't being used anymore, right? How do I run tests against other databases? DB2? SQLServer? In the past, I just set the `db.user, db.pwd, db.url, ect` properties in my build.properties file, but that doesnt seem to be looked at anymore.

Thanks,
Will Dazey

_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building master

Radek Felcman
Hi Will,

        I hope that I'll answer for Your questions now. I'll update WiKi at GitHub too.
        Following steps You have to do to execute tests in org.eclipse.persistence.jpa.jse.test module.
        1. mvn install
                Full build (without Oracle Extensions), but with SRG tests too against Apache Derby (started automatically during a build) ~30min (my laptop)
                or
           mvn clean install -DskipTests
                Full build (without Oracle Extensions), but without Unit & integrations tests. It takes ~10min  (my laptop).
        2. JPA JSE tests
                mvn verify -pl :org.eclipse.persistence.jpa.jse.test -Pmysql
                        verify...means execute JUnit tests and integration tests too (when You will try instead of this "mvn test" no any JPA JSE test will be executed, because all of them are integration tests)
                        -pl :org.eclipse.persistence.jpa.jse.test...run tests (build, clean) only this module from the project. You can specify there multiple modules if You want (separated by comma). e.g.
https://github.com/eclipse-ee4j/eclipselink/blob/master/.travis.yml line 85
                        -Pmysql...use MySQL db. When You skip this part, Apache Derby with InMemmory mode will be used (started automatically during a build)
                after some code change You don't have build everything again but You can compile just affected module e.g.
                        mvn clean install -pl :org.eclipse.persistence.jpa -DskipTests (just (re)build JPA module)
                        mvn verify -pl :org.eclipse.persistence.jpa.jse.test -Pmysql (build and execute JPA.JSE tests against MySQL DB)
        3. DB properties
                There is something like fallback. At first build tries to load property file from user home directory. If file is not available there, it loads default one from $PROJECT_HOME/buildsystem/mavenize/test.properties see
https://github.com/eclipse-ee4j/eclipselink/tree/master/buildsystem/mavenize/test.properties . If You have different DB settings, than default, just copy file from there to Your home directory and change content (urs,
pwd, URL).
                Yes there is filename change into el-tests.<DB name/JEE server name>.properties . I decided, that build.properties, test.properties file names are too generic and can leads into collision with other SW.

        4. DB support for integration tests
                Currently there is support for Derby (default), MySQL, Oracle. But another DB support can be easily added into build files (pom.xml). It's mainly about parent pom
https://github.com/eclipse-ee4j/eclipselink/blob/master/pom.xml
                        add
                        reference to the property file like 73
                        dependency for JDBC driver there like 159, 496
                        profile like 1117
                and create property file at https://github.com/eclipse-ee4j/eclipselink/tree/master/buildsystem/mavenize/test.properties

                But another thing are tests. Most of them are generic ,but some of them are designed to MySQL, or Oracle DB.


                                Thank You Radek


On 12/18/19 6:58 AM, William Dazey wrote:

> Hello!
> So, I tried building master locally today (I don't really do it very often anymore and stick mostly to 2.6 & 2.7) and I gotta say, I'm really confused as to what I need to run. I tried following the instructions on the
> wiki (https://github.com/eclipse-ee4j/eclipselink/wiki/Building-EclipseLink#devbuild 
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_eclipse-2Dee4j_eclipselink_wiki_Building-2DEclipseLink-23devbuild&d=DwMFaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=OUs7j4cNH6SfkQnqG1ZWFHkOXrqXJqlkLTBBNve2ne8&m=OE3SmtAMiMiW5yZBx6F5xP1ly9hN5KWcjcybeau5FKo&s=W4wP_QQxWQecTcrY3dv-TMxaT4APT-Cgdu8U3uZew_o&e=>)
> to run tests, but it only ever ends up building everything...
>
> Granted, I don't have much experience with maven, but I just want to run the jpa-jse bucket locally. ` |mvn verify -Pmysql,test-jpa-jse|` seems to build everything and runs every single testbucket. I can see the console
> running core tests and jpql test... Also, I didn't specify connection information for mysql. What connection information is it using?
>
> Also, is it just me or does the build take like 20 minutes to run now with maven. Ive run it several times and it seems like everything is downloaded, but it still takes forever to build.
>
> Also also, my HOME/build.properties aren't being used anymore, right? How do I run tests against other databases? DB2? SQLServer? In the past, I just set the `db.user, db.pwd, db.url, ect` properties in my
> build.properties file, but that doesnt seem to be looked at anymore.
>
> Thanks,
> Will Dazey
>
> _______________________________________________
> eclipselink-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.eclipse.org_mailman_listinfo_eclipselink-2Ddev&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=OUs7j4cNH6SfkQnqG1ZWFHkOXrqXJqlkLTBBNve2ne8&m=OE3SmtAMiMiW5yZBx6F5xP1ly9hN5KWcjcybeau5FKo&s=j5nBD2kETLzDbCd5oY7aq18X6_UdF7CAYwvr0hDoDKA&e=
>
_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building master

Lukas Jungmann
In reply to this post by William Dazey
Hi,

On 12/18/19 6:58 AM, William Dazey wrote:
> Hello!
> Granted, I don't have much experience with maven, but I just want to run
> the jpa-jse bucket locally. `

I believe most questions were answered by Radek already, just few
good-to-know maven tips:

Once you're at project root:

mvn -pl :<artifactId> <goals|phases> - run given goals/phases (ie
dependency:tree, clean, install, etc) for a project identified by
<artifactId> and nothing else

mvn -am -pl :<artifactId> <goals|phases> - run given goals/phases (ie
dependency:tree, clean, install, etc) for a project identified by
<artifactId> and for all projects given one depends on

mvn -amd -pl :<artifactId> <goals|phases> - run given goals/phases (ie
dependency:tree, clean, install, etc) for a project identified by
<artifactId> and for all projects depending on it

-am (--also-make) and -amd (--also-make-dependents) options are well
described at
https://stackoverflow.com/questions/40206376/difference-between-also-make-and-also-make-dependents

thanks,
--lukas

  |mvn verify -Pmysql,test-jpa-jse|` seems

> to build everything and runs every single testbucket. I can see the
> console running core tests and jpql test... Also, I didn't specify
> connection information for mysql. What connection information is it using?
>
> Also, is it just me or does the build take like 20 minutes to run now
> with maven. Ive run it several times and it seems like everything is
> downloaded, but it still takes forever to build.
>
> Also also, my HOME/build.properties aren't being used anymore, right?
> How do I run tests against other databases? DB2? SQLServer? In the past,
> I just set the `db.user, db.pwd, db.url, ect` properties in my
> build.properties file, but that doesnt seem to be looked at anymore.
>
> Thanks,
> Will Dazey
>
> _______________________________________________
> eclipselink-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>
_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building master

William Dazey
Thanks so much for the information. I think I'm going to try playing around with creating a new "generic" profile that uses build.properties connection information. I can see how it's useful for you guys cause all the default DB connections are checked in, but I'm finding it a bit tedious to managed all these different property files. Also, to test a database, a new profile needs to be created and checked in...

Another question I have concerns how to import these projects into Eclipse. I can't import as "existing projects" because then there's no source. I tried importing as maven projects, but that generates a bunch of .project, .settings, .classpath files that show up as changes in git. Is there a recommended way to manage everything in Eclipse?

Thanks,
Will Dazey

On Wed, Dec 18, 2019 at 5:55 AM Lukas Jungmann <[hidden email]> wrote:
Hi,

On 12/18/19 6:58 AM, William Dazey wrote:
> Hello!
> Granted, I don't have much experience with maven, but I just want to run
> the jpa-jse bucket locally. `

I believe most questions were answered by Radek already, just few
good-to-know maven tips:

Once you're at project root:

mvn -pl :<artifactId> <goals|phases> - run given goals/phases (ie
dependency:tree, clean, install, etc) for a project identified by
<artifactId> and nothing else

mvn -am -pl :<artifactId> <goals|phases> - run given goals/phases (ie
dependency:tree, clean, install, etc) for a project identified by
<artifactId> and for all projects given one depends on

mvn -amd -pl :<artifactId> <goals|phases> - run given goals/phases (ie
dependency:tree, clean, install, etc) for a project identified by
<artifactId> and for all projects depending on it

-am (--also-make) and -amd (--also-make-dependents) options are well
described at
https://stackoverflow.com/questions/40206376/difference-between-also-make-and-also-make-dependents

thanks,
--lukas

  |mvn verify -Pmysql,test-jpa-jse|` seems
> to build everything and runs every single testbucket. I can see the
> console running core tests and jpql test... Also, I didn't specify
> connection information for mysql. What connection information is it using?
>
> Also, is it just me or does the build take like 20 minutes to run now
> with maven. Ive run it several times and it seems like everything is
> downloaded, but it still takes forever to build.
>
> Also also, my HOME/build.properties aren't being used anymore, right?
> How do I run tests against other databases? DB2? SQLServer? In the past,
> I just set the `db.user, db.pwd, db.url, ect` properties in my
> build.properties file, but that doesnt seem to be looked at anymore.
>
> Thanks,
> Will Dazey
>
> _______________________________________________
> eclipselink-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>
_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev

_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building master

Lukas Jungmann
On 12/19/19 9:23 PM, William Dazey wrote:
> Thanks so much for the information. I think I'm going to try playing
> around with creating a new "generic" profile that uses build.properties
> connection information. I can see how it's useful for you guys cause all
> the default DB connections are checked in, but I'm finding it a bit
> tedious to managed all these different property files. Also, to test a
> database, a new profile needs to be created and checked in...

it has its pros and cons but there's definitely room for improvements.

>
> Another question I have concerns how to import these projects into
> Eclipse. I can't import as "existing projects" because then there's no
> source. I tried importing as maven projects, but that generates a bunch
> of .project, .settings, .classpath files that show up as changes in git.

huh, I'd expect these to be "hidden" by .gitignore now, so the repo does
not contain any IDE-specific configuration files (feel free to file a
bug to fix/clean the ignore list up)

> Is there a recommended way to manage everything in Eclipse?

one of our goals was to decouple the project from one specific IDE.
Maven should be understood by all major ones. As for Eclipse specific -
do you have M2Eclipse (https://www.eclipse.org/m2e) installed?

thanks,
--lukas

>
> Thanks,
> Will Dazey
>
> On Wed, Dec 18, 2019 at 5:55 AM Lukas Jungmann
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Hi,
>
>     On 12/18/19 6:58 AM, William Dazey wrote:
>      > Hello!
>      > Granted, I don't have much experience with maven, but I just want
>     to run
>      > the jpa-jse bucket locally. `
>
>     I believe most questions were answered by Radek already, just few
>     good-to-know maven tips:
>
>     Once you're at project root:
>
>     mvn -pl :<artifactId> <goals|phases> - run given goals/phases (ie
>     dependency:tree, clean, install, etc) for a project identified by
>     <artifactId> and nothing else
>
>     mvn -am -pl :<artifactId> <goals|phases> - run given goals/phases (ie
>     dependency:tree, clean, install, etc) for a project identified by
>     <artifactId> and for all projects given one depends on
>
>     mvn -amd -pl :<artifactId> <goals|phases> - run given goals/phases (ie
>     dependency:tree, clean, install, etc) for a project identified by
>     <artifactId> and for all projects depending on it
>
>     -am (--also-make) and -amd (--also-make-dependents) options are well
>     described at
>     https://stackoverflow.com/questions/40206376/difference-between-also-make-and-also-make-dependents
>
>     thanks,
>     --lukas
>
>        |mvn verify -Pmysql,test-jpa-jse|` seems
>      > to build everything and runs every single testbucket. I can see the
>      > console running core tests and jpql test... Also, I didn't specify
>      > connection information for mysql. What connection information is
>     it using?
>      >
>      > Also, is it just me or does the build take like 20 minutes to run
>     now
>      > with maven. Ive run it several times and it seems like everything is
>      > downloaded, but it still takes forever to build.
>      >
>      > Also also, my HOME/build.properties aren't being used anymore,
>     right?
>      > How do I run tests against other databases? DB2? SQLServer? In
>     the past,
>      > I just set the `db.user, db.pwd, db.url, ect` properties in my
>      > build.properties file, but that doesnt seem to be looked at anymore.
>      >
>      > Thanks,
>      > Will Dazey
>      >
>      > _______________________________________________
>      > eclipselink-dev mailing list
>      > [hidden email] <mailto:[hidden email]>
>      > To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>      > https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>      >
>     _______________________________________________
>     eclipselink-dev mailing list
>     [hidden email] <mailto:[hidden email]>
>     To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>     https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>
>
> _______________________________________________
> eclipselink-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>
_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building master

William Dazey
Hello!

I went ahead and opened https://github.com/eclipse-ee4j/eclipselink/pull/647 to add ignores for the Eclipse artifacts that shouldn't be tracked.

I don't have M2Eclipse installed and I haven't heard of it. I take its a Maven plugin for Eclipse? Ill take a look and see if that changes anything.

Thanks,
Will Dazey

On Thu, Dec 19, 2019 at 2:44 PM Lukas Jungmann <[hidden email]> wrote:
On 12/19/19 9:23 PM, William Dazey wrote:
> Thanks so much for the information. I think I'm going to try playing
> around with creating a new "generic" profile that uses build.properties
> connection information. I can see how it's useful for you guys cause all
> the default DB connections are checked in, but I'm finding it a bit
> tedious to managed all these different property files. Also, to test a
> database, a new profile needs to be created and checked in...

it has its pros and cons but there's definitely room for improvements.

>
> Another question I have concerns how to import these projects into
> Eclipse. I can't import as "existing projects" because then there's no
> source. I tried importing as maven projects, but that generates a bunch
> of .project, .settings, .classpath files that show up as changes in git.

huh, I'd expect these to be "hidden" by .gitignore now, so the repo does
not contain any IDE-specific configuration files (feel free to file a
bug to fix/clean the ignore list up)

> Is there a recommended way to manage everything in Eclipse?

one of our goals was to decouple the project from one specific IDE.
Maven should be understood by all major ones. As for Eclipse specific -
do you have M2Eclipse (https://www.eclipse.org/m2e) installed?

thanks,
--lukas

>
> Thanks,
> Will Dazey
>
> On Wed, Dec 18, 2019 at 5:55 AM Lukas Jungmann
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Hi,
>
>     On 12/18/19 6:58 AM, William Dazey wrote:
>      > Hello!
>      > Granted, I don't have much experience with maven, but I just want
>     to run
>      > the jpa-jse bucket locally. `
>
>     I believe most questions were answered by Radek already, just few
>     good-to-know maven tips:
>
>     Once you're at project root:
>
>     mvn -pl :<artifactId> <goals|phases> - run given goals/phases (ie
>     dependency:tree, clean, install, etc) for a project identified by
>     <artifactId> and nothing else
>
>     mvn -am -pl :<artifactId> <goals|phases> - run given goals/phases (ie
>     dependency:tree, clean, install, etc) for a project identified by
>     <artifactId> and for all projects given one depends on
>
>     mvn -amd -pl :<artifactId> <goals|phases> - run given goals/phases (ie
>     dependency:tree, clean, install, etc) for a project identified by
>     <artifactId> and for all projects depending on it
>
>     -am (--also-make) and -amd (--also-make-dependents) options are well
>     described at
>     https://stackoverflow.com/questions/40206376/difference-between-also-make-and-also-make-dependents
>
>     thanks,
>     --lukas
>
>        |mvn verify -Pmysql,test-jpa-jse|` seems
>      > to build everything and runs every single testbucket. I can see the
>      > console running core tests and jpql test... Also, I didn't specify
>      > connection information for mysql. What connection information is
>     it using?
>      >
>      > Also, is it just me or does the build take like 20 minutes to run
>     now
>      > with maven. Ive run it several times and it seems like everything is
>      > downloaded, but it still takes forever to build.
>      >
>      > Also also, my HOME/build.properties aren't being used anymore,
>     right?
>      > How do I run tests against other databases? DB2? SQLServer? In
>     the past,
>      > I just set the `db.user, db.pwd, db.url, ect` properties in my
>      > build.properties file, but that doesnt seem to be looked at anymore.
>      >
>      > Thanks,
>      > Will Dazey
>      >
>      > _______________________________________________
>      > eclipselink-dev mailing list
>      > [hidden email] <mailto:[hidden email]>
>      > To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>      > https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>      >
>     _______________________________________________
>     eclipselink-dev mailing list
>     [hidden email] <mailto:[hidden email]>
>     To change your delivery options, retrieve your password, or
>     unsubscribe from this list, visit
>     https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>
>
> _______________________________________________
> eclipselink-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/eclipselink-dev
>
_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev

_______________________________________________
eclipselink-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/eclipselink-dev