From d7bec6ce83426de5d900ba3f7d0ac62c8f3de712 Mon Sep 17 00:00:00 2001 From: Clement Escoffier Date: Sun, 16 Dec 2018 09:46:07 +0100 Subject: [PATCH 1/2] Improve the contribution guide --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 490e9242e95ae..05bcf149d8482 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,11 +14,11 @@ Don't forget to indicate your Java, Maven and GraalVM version. ## Before you contribute -To contribute, use Github Pull Requests. +To contribute, use Github Pull Requests, from your **own** fork. ### Code reviews -All submissions, including submissions by project members, require review. +All submissions, including submissions by project members, need to be reviewed before being merged. ### Continuous Integration From 65d8e573c76f714d7217bfeacf3bb19e2f49c06c Mon Sep 17 00:00:00 2001 From: Clement Escoffier Date: Sun, 16 Dec 2018 09:47:01 +0100 Subject: [PATCH 2/2] Move the build instructions in the contribution guide Add a note about docker and post-action (related to #314) --- CONTRIBUTING.md | 22 ++++++++++++++++++++-- README.md | 22 +--------------------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 05bcf149d8482..4a4e39279e970 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,13 +50,31 @@ If you have not done so on this machine, you need to: * Otherwise `sudo apt-get install libz-dev` * macOS * `xcode-select --install` -* Set `GRAALVM_HOME` to your GraalVM Home directory e.g. `/opt/graalvm` on Linux or `$location/JDK/GraalVM/Contents/Home` on macOS +* Set `GRAALVM_HOME` to your GraalVM Home directory e.g. `/opt/graalvm` on Linux or `$location/JDK/GraalVM/Contents/Home` on macOS +* To build Shamrock, you also need Docker running. Check [the installation guide](https://docs.docker.com/install/), and [the MacOS installation guide](https://docs.docker.com/docker-for-mac/install/) +* If you just install docker, be sure that your current user can run a container (no root required). +On Linux, check [the post-installation guide](https://docs.docker.com/install/linux/linux-postinstall/) ## Build -* Clone the repository +* Clone the repository: `git clone https://github.com/jbossas/protean-shamrock.git` +* Navigate to the directory: `cd protean-shamrock` * Invoke `mvn clean install` from the root directory +```bash +git clone https://github.com/jbossas/protean-shamrock.git +cd protean-shamrock +mvn clean install +# Wait... success! +``` + +The default build will create two different native images, which is quite time consuming. You can skip this +by disabling the `native-image` profile: `mvn install -Dno-native`. + +By default the build will use the native image server. This speeds up the build, but can cause problems due to the cache +not being invalidated correctly in some cases. To run a build with a new instance of the server you can use +`mvn install -Dnative-image.new-server=true`. + ## The small print This project is an open source project, please act responsibly, be nice, polite and enjoy! diff --git a/README.md b/README.md index 9d772584ce4f2..500c898eb70b2 100644 --- a/README.md +++ b/README.md @@ -61,27 +61,7 @@ At the moment is has the following features: ### How to build Shamrock -* Install platform C developer tools: - * Linux - * Make sure headers are available on your system (you'll hit 'Basic header file missing ()' error if they aren't). - * On Fedora `sudo dnf install zlib-devel` - * Otherwise `sudo apt-get install libz-dev` - * macOS - * `xcode-select --install` -* Install GraalVM (minimum RC10) -* Set `GRAALVM_HOME` to your GraalVM Home directory e.g. `/opt/graalvm` on Linux or `/Users/emmanuel/JDK/GraalVM/Contents/Home` on macOS -* `git clone https://github.com/jbossas/protean-shamrock.git` -* `cd protean-shamrock` -* `mvn install` - -The default build will create two different native images, which is quite time consuming. You can skip this -by disabling the `native-image` profile: `mvn install -Dno-native`. - -Wait. Success! - -By default the build will use the native image server. This speeds up the build, but can cause problems due to the cache -not being invalidated correctly in some cases. To run a build with a new instance of the server you can use -`mvn install -Dnative-image.new-server=true`. +The build instructions are available in the [contribution guide](CONTRIBUTING.md). ### Architecture Overview