Skip to content
This repository has been archived by the owner on Apr 10, 2021. It is now read-only.

Classpath verification; POM improvements; License/Copyright #119

Closed
wants to merge 4 commits into from

Conversation

emabrey
Copy link
Collaborator

@emabrey emabrey commented Dec 4, 2018

Using a new project I have added to the organization, welovecoding/openjdk7-rt , I have come up with a license compatible way to integrate boot classpath checking via the Javac compiler. These checks will verify at the class/bytecode level that we are Java 7 compatible using an actual Java runtime. This is superior to our currently standalone animal-sniffer-plugin because the sniffer plugin only verifies that the API signatures match. My new addition downloads the rt,jar from a remote GitHub URL automatically and also caches the download in the ~/.m2 folder by using the download-maven-plugin. I have read the GPLv2 with classpath exception and am able to certify that using the code in this manner (distribution in an independent project and distributing code that downloads locally) does not run afoul of the MIT license our project uses. The licensing issues are what prompted me to do it this way instead of distributing the files alongside this project directly.

I have made major enhancements to the layout of the POM in order to make it comply with "best standards", including moving release plugins into their own profile which is automatically activated by the maven-release-plugin. Simply running mvn deploy -DdryRun=false will now trigger a build which runs the release:prepare and release:perform goals and deploys to the local maven-repo directory. Running mvn deploy by itself will do a verification dry run to prevent accidental deployments.

I have added my copyright declaration to the project license to confer that I have copyright over the code that I write, though of course it is subject to the MIT license so the point is somewhat moot. I wanted to make sure that our license/copyright for my code wasn't in any problematic arrangement. Perhaps we should look into adding everyone who contributes code to the copyright, or we should figure a way to make it copyright at an organization level? If we don't have the copyright statements listed it doesn't particularly matter technically as I believe copyrights confer automatically upon creation, but there are also reasons to want everyone who contributes listed as explicitly asserting copyright to make it clear that the MIT license covers ALL contributions and not just the ones by the listed copyright owners.

Add "rt.jar" archive for use via the -Xbootclasspath compiler option
Add license and source code for openJDK to comply with GPLv2
Remove prerequisites element from the Maven POM
Add maven-enforcer-plugin to verify Maven and JVM versions
Update project license to assert Emily Mabrey's copyright
Modify compiler plugin to fork and force usage of javac compiler

Signed-off-by: Emily Mabrey <[email protected]>
Remove all openJDK7 files from the src/main/javac/openjdk7/ directory
Add support for maven-download-plugin to download openJDK7 files
Add maven-repo directory to .gitignore with .gitkeep file exception
Modify POM to include extensive documentation
Modify POM by moving simply plugin declarations into proper element
Modify POM by moving deploy plugins into release profile
Modify POM to use correct issues system name for GitHub Issues
Modify maven-compiler-plugin to compile incrementally
Modify maven-compiler-plugin to explicitly utilize Javac compiler
Modify maven-compiler-plugin to process annotation classes implicitly
Modify maven-enforcer-plugin to begin enforcing version rules
Modify maven-jar-plugin to respect default Manifest entries
Modify maven-javadoc-plugin to generate Javadoc without forking
Modify maven-release-plugin to do a dry run during deploy phase
Modify maven-release-plugin to support the newly added release profile
Modify animal-sniffer-maven-plugin to run during process-classes phase
Modify nbm-maven-plugin to correctly name our license agreement

Signed-off-by: Emily Mabrey <[email protected]>
@bennycode
Copy link
Member

@emabrey Thanks for your contribution and enormous support for the EditorConfig NetBeans plugin. As you noticed the contribution activity is very low. Having in mind that we started the project in 2015 it's quite an achievement that we are here 4 years later, talking about it.

There currently is Java SE 12. Last time I worked with Java was at times of Java SE 7, so my Java skills became a bit rusty which makes it impossible for me to review this pull request.

I also think that @Yserz & @junichi11 are in their well-deserved EditorConfig pension that's why I would like to archive our editorconfig-netbeans repository. Unless I hurt someone's feeling with that action?

It was great to work with you. Really, we all came together by coincidence and joined this organization. That's wonderful! A true open source experience. 🤗

Are you okay with me closing this PR and removing welovecoding/openjdk7-rt?
We can still add your name to LICENSE.txt. You deserved it.

@bennycode
Copy link
Member

Closing it because of inactivity. Please re-open if the PR is still relevant.

@bennycode bennycode closed this Nov 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants