SourcesMovePlan

(Difference between revisions)
(Created page with '=Plan on move of NB Sources from hg.netbeans.org to Apache Git= This plan describes the steps to be done to move sources from current NB HG SCM to new Apache Git. It takes into a…')
 
Line 1: Line 1:
=Plan on move of NB Sources from hg.netbeans.org to Apache Git=
=Plan on move of NB Sources from hg.netbeans.org to Apache Git=
This plan describes the steps to be done to move sources from current NB HG SCM to new Apache Git. It takes into acount change of license headers, continue development of NetBeans 9. NetBeans 9 development will need some running build jobs which then require also 3rd party binaries available...
This plan describes the steps to be done to move sources from current NB HG SCM to new Apache Git. It takes into acount change of license headers, continue development of NetBeans 9. NetBeans 9 development will need some running build jobs which then require also 3rd party binaries available...
 +
Nice to have goal is to have shortly after code donation build of NetBeans Platform available on Apache.
 +
It assumes source code donation is legally approved from both sides.
It assumes source code donation is legally approved from both sides.
Line 11: Line 13:
! Description  
! Description  
|-
|-
-
| Day D (TBD)
+
| Before Day D
 +
| Remove dependencies on Swing Layout Ext (GPL) from Platform
 +
| NB9 Dev
 +
| Preparation for Apache (non GPL build) done in main.
 +
|-
 +
| '''Day D''' (TBD)
| "Apache" branch created from hg.nb.org/releases
| "Apache" branch created from hg.nb.org/releases
| Petr G.
| Petr G.
Line 24: Line 31:
| Setup build job on deadlock to build from Apache branch
| Setup build job on deadlock to build from Apache branch
| Petr G.
| Petr G.
-
| Standart NB build using binaries from http://hg.netbeans.org/binaries/
+
| Standard NB build using binaries from http://hg.netbeans.org/binaries/
|-  
|-  
| D+3
| D+3
Line 34: Line 41:
| NB 9 development is done on regular team repos
| NB 9 development is done on regular team repos
| NB9 dev
| NB9 dev
-
| Sources are merged to "apache" branch periodically
+
| Still using hg.nb.org. Sources are merged to "apache" branch periodically
|-
|-
| D+4
| D+4
| Sources from "apache" branch are copied to Apache git
| Sources from "apache" branch are copied to Apache git
| Community
| Community
-
| Not clear what will happen to sources there? While being modified at hg.nb.org in parallel it will require another move of src later.
+
| The goal should be to produce NB Platform build from Apache Git using Apache approved libs.  
|-
|-
| D+5
| D+5
-
| Remove *GPL* libs from NB Platform
+
| Remove *GPL* libs from Apache NB Platform
| ??
| ??
-
| Following *GPL* libs are in Platform: 1. nsProxyAutoConfig.js, 2. Swing layout extension 1.0.4, 3. JavaHelp 2.0 (Oracle owned). 2nd will be easy to replace. 1st needs to be discussed with proxyselector-v2 module owner. JavaHelp... These steps will be done in hg.nb.org to avoid merging between Git and HG.
+
| Following *GPL* libs are in Platform: 1. nsProxyAutoConfig.js, 2. Swing layout extension 1.0.4 - done earlier, 3. JavaHelp 2.0 (Oracle owned). 1st needs to be discussed with proxyselector-v2 module owner. JavaHelp - workaround - build using downloaded JavaHelp lib, at runtime default to display a help in browser.
|-
|-
| D+5
| D+5
Line 54: Line 61:
| Need to know how we will develop in Apache Git
| Need to know how we will develop in Apache Git
| NB 9 + Community
| NB 9 + Community
-
| Decide on using "team branches" for which regular build jobs will be setup? Or use some other mechanism...?
+
| Decide on using "team branches" for which regular build jobs will be setup? Or use some other mechanism...? Automated push jobs between team repos and default? Where to build the IDE (cloudbees, Travis CI)
|-
|-
| -
| -
| NetBeans Platform build without GPL libs
| NetBeans Platform build without GPL libs
| Petr G.
| Petr G.
-
| NB Platform build is passing using HG.NB.ORG "apache" branch and Apache 3rd party libs location. Just Platform required subset of 3rd party libs, meeting Apache legal requirements. It is running on deadlock or on Apache builders (depends on availability).
+
| NB Platform build is passing using Apache Git and Apache 3rd party libs location - TBD. Just Platform required subset of 3rd party libs, meeting Apache legal requirements. It is running on deadlock or on Apache builders (depends on availability).
|-
|-
| -
| -
-
| Perform final move of sources from hg.nb.org/releases "apache" to Apache Git.
+
| Perform final merge of sources from hg.nb.org/releases "apache" branch to Apache Git.
| Community
| Community
-
| These are the sources which contains latest NB 9 development, and Platform is built without GPL libs inside. There are 2 build jobs. One for Platform - Apache clean build. 2nd for full NB using Apache Git and 3rd party libs from hg.nb.org/binaries, excluding Platform binaries.
+
| HG.nb.org sources contain latest NB 9 development - avoid changes in JavaHelp support and proxySelector. There are 2 build jobs. One for Platform - Apache clean build. 2nd for full NB using Apache Git and 3rd party libs from hg.nb.org/binaries, excluding Platform binaries.
|-
|-
| -
| -
Line 73: Line 80:
| -
| -
| Move up in clusters chain to remove GPL libs
| Move up in clusters chain to remove GPL libs
-
| NetBeans 9 dev/ community
+
| Community
| Remove and replace GPL libs used in ide, extide, Java, ... clusters. Extend the original Apache NB Platform build to build bigger set of IDE modules.
| Remove and replace GPL libs used in ide, extide, Java, ... clusters. Extend the original Apache NB Platform build to build bigger set of IDE modules.
|}
|}
 +
 +
After this NetBeans 9 development will be performed in Apache GIT. Platform will be built on Apache using just Apache allowed 3rd party libs. There will be "Oracle" build building Full IDE using 3rd party libs from HG.NB.ORG

Current revision as of 13:44, 29 November 2016

Plan on move of NB Sources from hg.netbeans.org to Apache Git

This plan describes the steps to be done to move sources from current NB HG SCM to new Apache Git. It takes into acount change of license headers, continue development of NetBeans 9. NetBeans 9 development will need some running build jobs which then require also 3rd party binaries available... Nice to have goal is to have shortly after code donation build of NetBeans Platform available on Apache.

It assumes source code donation is legally approved from both sides.

Plan

Date Step Responsible Description
Before Day D Remove dependencies on Swing Layout Ext (GPL) from Platform NB9 Dev Preparation for Apache (non GPL build) done in main.
Day D (TBD) "Apache" branch created from hg.nb.org/releases Petr G. -
D+1 Run license headers change Tomas S. Will take 2, maybe 3 days as it is not fully automated process
D+1 Setup build job on deadlock to build from Apache branch Petr G. Standard NB build using binaries from http://hg.netbeans.org/binaries/
D+3 Build is done, verified Community Check the build is passing
D+4 NB 9 development is done on regular team repos NB9 dev Still using hg.nb.org. Sources are merged to "apache" branch periodically
D+4 Sources from "apache" branch are copied to Apache git Community The goal should be to produce NB Platform build from Apache Git using Apache approved libs.
D+5 Remove *GPL* libs from Apache NB Platform  ?? Following *GPL* libs are in Platform: 1. nsProxyAutoConfig.js, 2. Swing layout extension 1.0.4 - done earlier, 3. JavaHelp 2.0 (Oracle owned). 1st needs to be discussed with proxyselector-v2 module owner. JavaHelp - workaround - build using downloaded JavaHelp lib, at runtime default to display a help in browser.
D+5 Build job development for Apache Git - NB Full IDE & Platform Petr G. Develop a build using Apache Git, likely run on deadlock.nb.org using 3rd party libs from hg.nb.org. This is intermediate build before all infrastructure is available on Apache site.
D+5 Need to know how we will develop in Apache Git NB 9 + Community Decide on using "team branches" for which regular build jobs will be setup? Or use some other mechanism...? Automated push jobs between team repos and default? Where to build the IDE (cloudbees, Travis CI)
- NetBeans Platform build without GPL libs Petr G. NB Platform build is passing using Apache Git and Apache 3rd party libs location - TBD. Just Platform required subset of 3rd party libs, meeting Apache legal requirements. It is running on deadlock or on Apache builders (depends on availability).
- Perform final merge of sources from hg.nb.org/releases "apache" branch to Apache Git. Community HG.nb.org sources contain latest NB 9 development - avoid changes in JavaHelp support and proxySelector. There are 2 build jobs. One for Platform - Apache clean build. 2nd for full NB using Apache Git and 3rd party libs from hg.nb.org/binaries, excluding Platform binaries.
- Move NetBeans 9 developemnt to Apache Git NB 9 devs NetBeans 9 development will be performed on Apache Git likely using Full NB build job form deadlock. Platform is built on Apache infra using blessed 3rd party libs.
- Move up in clusters chain to remove GPL libs Community Remove and replace GPL libs used in ide, extide, Java, ... clusters. Extend the original Apache NB Platform build to build bigger set of IDE modules.

After this NetBeans 9 development will be performed in Apache GIT. Platform will be built on Apache using just Apache allowed 3rd party libs. There will be "Oracle" build building Full IDE using 3rd party libs from HG.NB.ORG

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo