Skip to content

Proposal: manage all the source code in one repo #49

@luchsh

Description

@luchsh

Background

The CompoundVM JDK was built from source code of two repositories: modified jdk17u (aka this-repo), unmodified jdk8u. and the jdk8u source code was downloaded using wget at build time, see cvm.mk:150.

This approach has two drawbacks:

  • the external dependency may be unstable, affected by network, permission, etc.;
  • it would be hard to maintain changes in the downloaded package;

Proposal

This proposal tries to maintain all the source code in one repository (this one).

Design

  • Put jdk8u/master to a standalone branch up/jdk8u/master and attached tags to it in this repo. which can be done via following commands
cd compoundVM/
git remote add jdk8u https://github.com/openjdk/jdk8u.git
git fetch jdk8u
git checkout -b up/jdk8u/master jdk8u/master
git push origin HEAD

Branch up/jdk8u/master has many shared history nodes with CompoundVM/master, thus no need to duplicate the whole git history tree.

  • Modify cvm.mk to clone the up/jdk8u/master branch into directory $(JDK8U_SRCROOT) at build time.
  • In the future, if some jdk8u changes has to be made, we may create a new branch out of this up/jdk8u/master and save those extra changes, all in one codebase.

Demo

I've created a demo in my fork repo, feel free to check out the code.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions