Updating Spring and Java

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Updating Spring and Java

grampajohn
Administrator
Dear colleagues -

Over the last five years, we have worked hard to maintain a balance between platform stability and introduction of new features. To the extent we have succeeded, it's been due to vigilant defense of a clean architecture, and careful configuration management. But the easy route to configuration management is to avoid version changes, and eventually that gets us into trouble. At this point where we are two major revisions behind on both the Java language and the Spring framework. This is a problem for Java especially, since Java 6 is well past EOL, which means no more security upgrades. In addition, new features of the Java language, such as lambda expressions, could clean up our code in several places (I am an old Lisp geek).

I would like to upgrade the system to Java 8 and Spring 4.2, and also work in updates to Apache AMQ and a few other dependencies. I will do it in steps to make sure nothing breaks, and I want to do it soon to minimize disruption in the lead-up to next year's competition. However, the Java update may require that everyone update their systems. Of course, anyone can update their Java environment and still compile against the Java 6 language, but that is certain to be confusing to new folks who are already using newer versions of Java.

So I would like some feedback. I don't think the Spring update will cause problems. Maven and some changes to configuration files should be enough once I update the pom.xml files. The bigger issue is Java. How difficult will it be for you to update your system to Java 8?

Thanks in advance -

John
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

AW: Updating Spring and Java

turban

Hi John,

 

we already used Java 8 to develop Maxon15.

 

Regards,

Tobias

 

Von: grampajohn [via Power TAC Developers] [mailto:[hidden email]]
Gesendet: Freitag, 7. August 2015 16:40
An: turban <[hidden email]>
Betreff: Updating Spring and Java

 

Dear colleagues -

Over the last five years, we have worked hard to maintain a balance between platform stability and introduction of new features. To the extent we have succeeded, it's been due to vigilant defense of a clean architecture, and careful configuration management. But the easy route to configuration management is to avoid version changes, and eventually that gets us into trouble. At this point where we are two major revisions behind on both the Java language and the Spring framework. This is a problem for Java especially, since Java 6 is well past EOL, which means no more security upgrades. In addition, new features of the Java language, such as lambda expressions, could clean up our code in several places (I am an old Lisp geek).

I would like to upgrade the system to Java 8 and Spring 4.2, and also work in updates to Apache AMQ and a few other dependencies. I will do it in steps to make sure nothing breaks, and I want to do it soon to minimize disruption in the lead-up to next year's competition. However, the Java update may require that everyone update their systems. Of course, anyone can update their Java environment and still compile against the Java 6 language, but that is certain to be confusing to new folks who are already using newer versions of Java.

So I would like some feedback. I don't think the Spring update will cause problems. Maven and some changes to configuration files should be enough once I update the pom.xml files. The bigger issue is Java. How difficult will it be for you to update your system to Java 8?

Thanks in advance -

John


If you reply to this email, your message will be added to the discussion below:

http://power-tac-developers.975333.n3.nabble.com/Updating-Spring-and-Java-tp4026069.html

To start a new topic under Power TAC Developers, email [hidden email]
To unsubscribe from Power TAC Developers,
click here.
NAML

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Updating Spring and Java

grampajohn
Administrator
In reply to this post by grampajohn
Dear colleagues -

Today I pushed a comprehensive set of updates to both the server and sample broker. We are now using the latest versions of Spring, Apache MQ, Apache log4j, and a number of other libraries. If you are working in a source environment, you will now need to start using Java 8. I plan to deploy this in about 4 weeks, around the middle of January, so if you are working in a 1.3.0-SNAPSHOT environment you will see the changes then. Please update your Java setup before then.

Enjoy the upcoming holidays -

John
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Updating Spring and Java

Ansel
Hi John,

We try to clone the last server update and run it, but several errors occur.

ansel@ansel-desktop:~/PowerTAC$ git clone https://github.com/powertac/powertac-server.git powertac-server-master
Cloning into 'powertac-server-master'...
remote: Counting objects: 7500, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 7500 (delta 2), reused 0 (delta 0), pack-reused 7492
Receiving objects: 100% (7500/7500), 13.63 MiB | 4.91 MiB/s, done.
Resolving deltas: 100% (2956/2956), done.
Checking connectivity... done.

ansel@ansel-desktop:~/PowerTAC$ cd powertac-server-master/

ansel@ansel-desktop:~/PowerTAC/powertac-server-master$ mvn -Pweb
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/server-interface/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/accounting/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/auctioneer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/balancing-market/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/customer-models/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/evcustomer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/default-broker/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/distribution-utility/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/factored-customer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/genco/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/household-customer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/officecomplex-customer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/server-main/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
[ERROR] Child module /home/ansel/PowerTAC/powertac-server-master/visualizer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist @
 @
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]  
[ERROR]   The project org.powertac:powertac-server:1.3.0-SNAPSHOT (/home/ansel/PowerTAC/powertac-server-master/pom.xml) has 14 errors
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/server-interface/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/accounting/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/auctioneer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/balancing-market/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/customer-models/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/evcustomer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/default-broker/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/distribution-utility/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/factored-customer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/genco/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/household-customer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/officecomplex-customer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/server-main/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[ERROR]     Child module /home/ansel/PowerTAC/powertac-server-master/visualizer/pom.xml of /home/ansel/PowerTAC/powertac-server-master/pom.xml does not exist
[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

What are we doing wrong?

thanks,

Ansel
COLD Team


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Updating Spring and Java

grampajohn
Administrator
Hello, Ansel -

I'm glad you are trying out the new system. Unfortunately, you have left out a few steps. See the server-developer's getting-started instructions for details.

Ansel wrote
Hi John,

We try to clone the last server update and run it, but several errors occur.

ansel@ansel-desktop:~/PowerTAC$ git clone https://github.com/powertac/powertac-server.git powertac-server-master
Cloning into 'powertac-server-master'...
remote: Counting objects: 7500, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 7500 (delta 2), reused 0 (delta 0), pack-reused 7492
Receiving objects: 100% (7500/7500), 13.63 MiB | 4.91 MiB/s, done.
Resolving deltas: 100% (2956/2956), done.
Checking connectivity... done.

ansel@ansel-desktop:~/PowerTAC$ cd powertac-server-master/

ansel@ansel-desktop:~/PowerTAC/powertac-server-master$ mvn -Pweb
Specifically, you have to download all the modules, build the server (including the common module), and locally install the modules before you can run it, and you have to run it using the server-distribution module.

Does this help?

Cheers -

John
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Updating Spring and Java

ansel
Thanks, I jumped several (most) steps.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Updating Spring and Java

grampajohn
Administrator
In reply to this post by grampajohn
Dear colleagues -

Today I have deployed an updated version of the server, 1.3.1-SNAPSHOT. If you update your server-distribution, or if you download a new copy from the master branch, maven will pull in the new modules. Using the server-distribution module in this way eliminates the need to set up and maintain a server source environment. This version updates a number of libraries, including Spring and Apache libraries, and requires Java 1.8. This will be the foundation for the 2016 competition.

At the same time, we have left the existing 1.3.0-SNAPSHOT intact, and you can always download a new server-distribution for that version if you want to stick with it for a while. We do not plan to do a 1.3.0 release; instead we will skip directly to 1.3.1.

As always, please let us know if you run into problems with either of these versions.

Cheers -

John
Loading...