You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by glauciom <gi...@git.apache.org> on 2016/06/30 05:51:55 UTC

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

GitHub user glauciom opened a pull request:

    https://github.com/apache/activemq-artemis/pull/610

    Artemis build enhancements

     1. Transparent integration / project importing at Eclipse IDE (Neon version)
     2. Inclusion of maven-wrapper (no need of maven previously installed nor JAVA_HOME / MAVEN exports on PATH)
         building with ./mvnw -Prelease install under activemq-artemis folder
     3. Updating maven java compiler version to 1.8

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/glauciom/activemq-artemis build-enhancements

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-artemis/pull/610.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #610
    
----
commit 61ee14e94dd5553b8c14e4887408b4a30ece7516
Author: gm2 <gm...@glaucios-air.home>
Date:   2016-06-30T05:37:51Z

    Artemis build enhancements
    
     1. Transparent integration / project importing at Eclipse IDE (Neon version)
     2. Inclusion of maven-wrapper (no need of maven previously installed nor JAVA_HOME / MAVEN exports on PATH)
         building with ./mvnw -Prelease install under activemq-artemis folder
     3. Updating maven java compiler version to 1.8

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by johnament <gi...@git.apache.org>.
Github user johnament commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69366465
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    One interesting thing I've noticed.  You can set your source/target to 1.7, but compile against a 1.8 JDK to leverage the newer APIs.  As a result, you create 1.7 compatible binaries, but leverage 1.8 APIs (e.g. Stream).  No runtime issues unless a user tries to call one of those APIs.
    
    It's an old trick, but finally figured out how it was working.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by glauciom <gi...@git.apache.org>.
Github user glauciom commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    mvnw files and the wrapper itself are under apache license, it seems that
    looks fine to keep them, I guess.
    
    On Thursday, June 30, 2016, John Ament <no...@github.com> wrote:
    
    > The usage of maven-wrapper.jar is fine. You just need to make sure its
    > excluded from your source release (and probably exclude mvnw and mvnw.bat
    > files)
    >
    > https://github.com/takari/maven-wrapper
    >
    > \u2014
    > You are receiving this because you authored the thread.
    > Reply to this email directly, view it on GitHub
    > <https://github.com/apache/activemq-artemis/pull/610#issuecomment-229678577>,
    > or mute the thread
    > <https://github.com/notifications/unsubscribe/AAMqzr_FyB_cUhdtMeH_DaFEsBCHRTacks5qQ9UxgaJpZM4JB0t7>
    > .
    >
    
    
    -- 
    Glaucio Melo
    Systems Architect
    Phone: +55 19 9253-7268
    LinkedIn: http://www.linkedin.com/in/glauciom
    - "Ne peti pri helpo, kiu vi scias ne helpos al vi."



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by johnament <gi...@git.apache.org>.
Github user johnament commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    The usage of maven-wrapper.jar is fine.  You just need to make sure its excluded from your source release (and probably exclude mvnw and mvnw.bat files)
    
    https://github.com/takari/maven-wrapper
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/activemq-artemis/pull/610


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    @johnament  so, its ok to keep the binary committed then?
    
    if that's the case I would just add a README on how to update it.. and it needs to be out of the source distro (we can do this later).
    
    although if the scripts could download the jar, it would be even greater. the source distro could have it without any problem


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by glauciom <gi...@git.apache.org>.
Github user glauciom commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    @johnament just removed .cmd file (whomever which wants windows support, feel free to do it) and now if maven-wrapper.jar is missing, it will be automatically downloaded from mvn central repo.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by glauciom <gi...@git.apache.org>.
Github user glauciom commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69371449
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    From a *very* practical point of view, it would be a win / win thing if only the server side inherit the 1.8 part, and client-side projects and related modules specifies the 1.7 version, overriding and pom.xml parent's definition.
    
    Sounds good? :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    @johnament the libaio binary is different. We produce this binary. just to facilitate the build.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by jdanekrh <gi...@git.apache.org>.
Github user jdanekrh commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69358896
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    That's what I meant. BUT, https://activemq.apache.org/artemis/docs/1.3.0/preface.html says
    > Written in Java. Runs on any platform with a Java 8+ runtime, that's everything from Windows desktops to IBM mainframes.
    
    That would mean people on 1.7 are out.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by johnament <gi...@git.apache.org>.
Github user johnament commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    @clebertsuconic yep, shouldn't be an issue having it in source, just like the libaio binary.  Just need to exclude it from your source release.
    
    @glauciom Even though they're under AL, if you include them and the maven-wrapper.jar is missing, does it still work?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by glauciom <gi...@git.apache.org>.
Github user glauciom commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69282938
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    I've got your point, I think it's more about the *need* to use a software stack under the 1.7 version, due to legacy systems sharing software / hardware resources with Artemis Client / Servers, right?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    The one thing preventing this to be merged is this binary jar. There's no license about it... I don't think I can merge this.
    
    Where this came from? what's the license? wouldn't be possible to use curl from a maven distr to get it if not available?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by jdanekrh <gi...@git.apache.org>.
Github user jdanekrh commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69260647
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    How would this work for people who have only 1.7 installed? Or people who want to run Artemis on 1.7?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by johnament <gi...@git.apache.org>.
Github user johnament commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    @clebertsuconic maybe from your POV.  However, from a release standpoint they carry the same problems.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by glauciom <gi...@git.apache.org>.
Github user glauciom commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69613608
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    Okay, just reverted to 1.7 :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    I see how takari set it up now. Based on how this maven-wrapper works, I guess this is how it should be done.
    
    I will come up to this after the july-4th (holiday.. and I will be out these next days).. unless someone else wants to carry on while I'm out.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    I was afraid of having a binary that we don't control being a dependency directly. Maybe that's not an issue at all.. but anyway Glaucio seems to have fixed it.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69594043
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    I would just leave 1.7, until there is a good reason to be 1.8.
    
    that way we would move the codebase to 1.8 on purpose, where there is the API need.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by glauciom <gi...@git.apache.org>.
Github user glauciom commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69371370
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    From what I've saw from a dev's perspective: from the newest code, If I try to import the source into Eclipse's Neon version, I've got a very single point which requires 1.8 source (at artemis-jdbc-store project):
    
    ``
    fileLocks.putIfAbsent(fileName, new Object());
    ``
    
    Setting Java 1.7 version will fail at that point if you set in that way. That's why I've stated to upgrade the version, considering all tests were passed flawlessly and from a server perspective this is a big win. The main point I can see here it's **all** about the client-side (as @clebertsuconic said), especially because the client-side counterparts are dealing with several different libraries versions, different businesses realities and conflicting ways to keep things without any further jar-hell issues.
    
    The thing is: we can see Artemis project being influenced by java 8 and it is a matter of time to have lambda / stream API all over the code in order to improve performance, parallelism and scalability. It's a natural way to get things progressively done from this standpoint.
    
    Considering @clebertsuconic  statement that 1.7 x 1.8 is a general complaint, it's a matter to say how long this compatibility thing will prevail.
    
    The main purpose of this commit it's all about to get things working properly under an IDE environment, it's very good thing when you are directing people to contribute with source code, it's a matter to say how good this is ok to do now.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by glauciom <gi...@git.apache.org>.
Github user glauciom commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    I will figure that out and will let you know
    On 30 Jun 2016 11:36, "clebertsuconic" <no...@github.com> wrote:
    
    > The one thing preventing this to be merged is this binary jar. There's no
    > license about it... I don't think I can merge this.
    >
    > Where this came from? what's the license? wouldn't be possible to use curl
    > from a maven distr to get it if not available?
    >
    > \u2014
    > You are receiving this because you authored the thread.
    > Reply to this email directly, view it on GitHub
    > <https://github.com/apache/activemq-artemis/pull/610#issuecomment-229677664>,
    > or mute the thread
    > <https://github.com/notifications/unsubscribe/AAMqztHbvV3snpwtUZw_Y6MqT_JyL8uPks5qQ9R5gaJpZM4JB0t7>
    > .
    >



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    I will squash it.. it's not needed any longer


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis pull request #610: Artemis build enhancements

Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/610#discussion_r69366049
  
    --- Diff: pom.xml ---
    @@ -112,8 +112,8 @@
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     
    -      <maven.compiler.source>1.7</maven.compiler.source>
    -      <maven.compiler.target>1.7</maven.compiler.target>
    +      <maven.compiler.source>1.8</maven.compiler.source>
    +      <maven.compiler.target>1.8</maven.compiler.target>
    --- End diff --
    
    The doc is outdated... we had complains from users, community members at the dev, and even peers at the company I work for. So, it was a big no from everybody!
    
    
    We could require 1.8 at the server but at the client it's a bit more complicated.
    
    I would wait a good reason to require 1.8. :) So far i don't have one.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] activemq-artemis issue #610: Artemis build enhancements

Posted by johnament <gi...@git.apache.org>.
Github user johnament commented on the issue:

    https://github.com/apache/activemq-artemis/pull/610
  
    Well its still in the PR - https://github.com/glauciom/activemq-artemis/blob/c84c39abf0c9033a0a3b989dabee9ab12e5f030c/.mvn/wrapper/maven-wrapper.jar


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---