You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "Frank Tsiang (Jira)" <ji...@apache.org> on 2020/05/12 11:44:00 UTC

[jira] [Commented] (NETBEANS-4219) Release specific Source Package Folders

    [ https://issues.apache.org/jira/browse/NETBEANS-4219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17105342#comment-17105342 ] 

Frank Tsiang commented on NETBEANS-4219:
----------------------------------------

Sorry, for the delayed response we have been overloaded lately.
 
We use multiple IDE's (currently Netbeans, IntelliJ CE and Eclipse). For Netbeans I use "Java with Ant" / "Java Project with Existing Sources" for running code within the IDE. We also have a custom built Ant script that we can run locally (in terminal) and on Jenkins. 
 
*The Ant Script*
The Ant script runs a java preprocessor, jar shrinker, junit test, code coverage reports, javadoc output, JMH benchmark jar files for performance regression and multi-release jars. The Ant script is typically run only before check-in, when benchmarking or ensuring proper test coverage.
 
*Netbeans / IDE*
For Netbeans I have used "Java with Ant" / "Java Project with Existing Sources". Then in the project I load the base source code folder along with any JDK specific source code folder using "Project Properties" / "Sources" / "Source Package Folder". If the multi-release structure is simple eg I can load the base folder (JDK agnostic code) and a JDK specific version folder then it is easy to write, run and debug in Netbeans.
 
If there are cumulative changes across multiple JDK specific folders (eg jdk 8, jdk 10, jdk 11) then all of these folders need to be loaded in the IDE. The challenge we face is when there is a mix of cumulative and overriding changes in the JDK specific folders. For example:
 
    jdk specific classes:
        jdk 8 has classes A & B
        jdk 10 overriding classes A & B
        jdk 11 overrides class A
 
Then when running and testing jdk 11 we need all jdk agnostic code plus class B from jdk 10 source folder and class A from jdk 11 source folder.
 
I will look at getting a sample structure up in GitHub (probably not before the end of the month). FYI we were using maven but as our build process but as our build process became more complex we struggled to adapt maven to our CI process. I can have someone look at Free-form projects, although I was hopping that maybe in the future it might be as simple as just selecting an optional source-level per "source package folder".
 

> Release specific Source Package Folders
> ---------------------------------------
>
>                 Key: NETBEANS-4219
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-4219
>             Project: NetBeans
>          Issue Type: New Feature
>    Affects Versions: 11.3
>            Reporter: Frank Tsiang
>            Priority: Major
>              Labels: multi-release
>
> Currently I don't see any way to support multi-release projects. When loading multiple source package folders netbeans assigns a single "Source/Binary Format" for the entire project. What is needed is to be able to specify the JDK version on a per Source Package Folder. Otherwise Netbeans complains about syntax errors for source code that is not for the same JDK version as the project.
>  
> Additional support to run the project as a specific JDK version would be useful in this scenario (eg in Run under Project properties).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists