ASTERIXDB-1526: remove "Cross-project Dependencies"
Change-Id: I192b840fec49ccc6444c18ead35599ad3b777f7a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/991
Reviewed-by: Michael Blow <michael.blow@couchbase.com>
diff --git a/content/dev-setup.html b/content/dev-setup.html
index 0112075..a584074 100644
--- a/content/dev-setup.html
+++ b/content/dev-setup.html
@@ -129,7 +129,6 @@
<li><a href="#using-jenkins-with-gerrit" id="markdown-toc-using-jenkins-with-gerrit">Using Jenkins with Gerrit</a> <ul>
<li><a href="#verification" id="markdown-toc-verification">Verification</a></li>
<li><a href="#retrigggering-builds-and-triggering-builds-manually" id="markdown-toc-retrigggering-builds-and-triggering-builds-manually">Retrigggering builds and triggering builds manually</a></li>
- <li><a href="#cross-project-dependencies" id="markdown-toc-cross-project-dependencies">Cross-project Dependencies</a></li>
</ul>
</li>
</ul>
@@ -159,7 +158,7 @@
<ul>
<li>A suitable *nix environment (Linux, OSX)</li>
<li>JDK 1.8+</li>
- <li>Maven 3.1.1 or greater</li>
+ <li>Maven 3.3.9 or greater</li>
<li>A relatively recent version of Eclipse</li>
</ul>
@@ -169,7 +168,7 @@
<li>
<p>Check out AsterixDB master in one folder via git in the command line. Assume that the path is <code>$HOME/workspace</code>.</p>
- <pre><code> git clone https://github.com/apache/asterixdb/
+ <pre><code> git clone https://github.com/apache/asterixdb/
</code></pre>
<p>You will now have <code>$HOME/workspace/asterixdb/</code>.</p>
@@ -177,8 +176,8 @@
<li>
<p>Go to the asterixdb folder and install it’s artifacts to the local Maven repository by executing the following commands:</p>
- <pre><code> cd asterixdb/
- mvn install -DskipTests
+ <pre><code> cd asterixdb/
+ mvn install -DskipTests
</code></pre>
</li>
<li>In Eclipse, import asterixdb as an existing Maven Project.
@@ -220,8 +219,8 @@
<li>
<p>Lastly, go to the asterixdb folder and execute following command again. This is required since Eclipse might have cleaned the projects and rebuilt the them without creating all necessary classes. Currently, some of the class files can be only built using mvn command.</p>
- <pre><code> cd asterixdb/
- mvn install -DskipTests
+ <pre><code> cd asterixdb/
+ mvn install -DskipTests
</code></pre>
</li>
</ol>
@@ -293,12 +292,14 @@
<li>
<p>To work on (say) Asterix, first clone the GitHub mirror or the ASF repository (if you already have a local clone, great!), e.g.</p>
- <p>git clone https://github.com/apache/incubator-asterixdb</p>
+ <pre><code>git clone https://github.com/apache/asterixdb
+</code></pre>
</li>
<li>
<p><code>cd</code> into the clone repo directory, and then run the following command to create the “gerrit” remote.</p>
- <p>git gerrit init</p>
+ <pre><code>git gerrit init
+</code></pre>
</li>
</ol>
@@ -311,7 +312,7 @@
<p>When you want to start working on a bug, feature, etc, first make a local <code>git</code> branch. Never work directly on
<code>master</code>! <code>master</code> should always be a pure mirror of <code>origin/master</code>, i.e., the GitHub mirror or the ASF repository.</p>
- <pre><code> git checkout -b my_branch
+ <pre><code>git checkout -b my_branch
</code></pre>
</li>
<li>
@@ -323,27 +324,27 @@
<li>
<p>Every so often, you should update your local <code>master</code> mirror, and then merge that onto your working branch. This will prevent your branch from falling too far out of date, and ensure that your code review proposals will merge successfully with <code>master</code>. There are a number of ways to do this, but <code>git-gerrit</code> provides a convenience function:</p>
- <pre><code> git gerrit update
+ <pre><code>git gerrit update
</code></pre>
</li>
<li>
<p>When you are ready to submit changes for code review, first ensure that you have committed everything locally that is necessary (<code>git status</code> should report “nothing to commit, working directory clean”). This is also a good time to update (see step 4). Then run:</p>
- <pre><code> git gerrit submit
+ <pre><code>git gerrit submit
</code></pre>
</li>
<li>This will pop open your editor to invite you to create a good commit message. This will be the single commit message which will be the only one to appear in the project’s master git history. Take the time to make it clear. The editor will contain the log messages of everything you committed on your branch as a reminder, but generally you will want to delete all this and replace it with a comprehensive message. Also: As noted in the initial message, the last line of the buffer will contain a <code>Change-Id</code> field. Do not delete that line! It is used by Gerrit to identify this particular merge proposal.</li>
<li>
<p>When you save your commit message, git-gerrit will push all of the changes from your working branch up to Gerrit. Assuming no errors, you should see output similar to the following:</p>
- <pre><code> remote: Resolving deltas: 100% (1/1)
- remote: Processing changes: new: 1, refs: 1, done
- remote:
- remote: New Changes:
- remote: http://fulliautomatix.ics.uci.edu:8443/30
- remote:
- To ssh://ceej@fulliautomatix.ics.uci.edu:29418/ceej-gerrit-test
- * [new branch] HEAD -> refs/for/master
+ <pre><code>remote: Resolving deltas: 100% (1/1)
+remote: Processing changes: new: 1, refs: 1, done
+remote:
+remote: New Changes:
+remote: http://fulliautomatix.ics.uci.edu:8443/30
+remote:
+To ssh://ceej@fulliautomatix.ics.uci.edu:29418/ceej-gerrit-test
+ * [new branch] HEAD -> refs/for/master
</code></pre>
</li>
<li>That URL under “New Changes” is your code review! Send it to others to request reviews.</li>
@@ -383,18 +384,6 @@
<h4 id="manual-trigger">Manual Trigger</h4>
<p>Builds of Gerrit patches can also be fully manually triggered from Jenkins. This can be desirable if a change is now dependent on a Hyracks change (via the Topic field feature described below), or if the patch is a draft or is not triggered automatically for any other reason. To manually trigger a build of a patchset, visit the Jenkins front-page, and click the ‘Query and Trigger Gerrit patches’ link. This should link to a page allowing you to manually trigger Gerrit patches. In the search field any query that can be searched in the Gerrit web interface can be used, but the default query of all open patchsets is likely fine. Hit the ‘Search’ button, and then click the checkbox that represents the patch that needs to be built. Then simply click ‘Trigger Selected’ and the patch will start building.</p>
-<h3 id="cross-project-dependencies">Cross-project Dependencies</h3>
-
-<p>It is sometimes the case that a change in one related project alters interfaces or expected results that an upstream project relies on. The converse can be true as well, such as an AsterixDB change that needs a Hyracks feature. In these sorts of situations, there is a mechanism to describe to Jenkins this dependenc of one project’s patchset to a particular Hyracks Change, by using the ‘Topic’ field in Gerrit. To utilize
-this feature, perform the following steps:</p>
-
-<ol>
- <li>First submit the Hyracks change which the upstream (AsterixDB,etc..) change depends on if you have not done so already</li>
- <li>In the Hyracks change details on the Gerrit web interface, take note of the refspec in the <em>Download</em> field of the patchset details. It will look something like <code>refs/changes/07/207/1</code>. This is what uniquely identifies the Hyracks change in Gerrit.</li>
- <li>Submit the dependent change now, if you have not done so already. In the Gerrit web interface, view the change’s details. In the upper left-hand corner, there will be an empty field in a table, labeled <code>Topic</code>, with a notepad icon right-justified in the second column of the table. Click the notepad Icon, and in the resulting dialog box, enter in the refspec (<code>refs/changes/07/207/1</code>) as the Topic value.</li>
- <li>Now, manually trigger the dependent change in Jenkins (see previous section for details)</li>
-</ol>
-
<hr />
</div>
diff --git a/dev-setup.md b/dev-setup.md
index 14badc9..75642cc 100644
--- a/dev-setup.md
+++ b/dev-setup.md
@@ -34,22 +34,21 @@
### Prerequisites
* A suitable \*nix environment (Linux, OSX)
* JDK 1.8+
- * Maven 3.1.1 or greater
+ * Maven 3.3.9 or greater
* A relatively recent version of Eclipse
### Steps
1. Check out AsterixDB master in one folder via git in the command line. Assume that the path is `$HOME/workspace`.
- git clone https://github.com/apache/asterixdb/
+ git clone https://github.com/apache/asterixdb/
You will now have `$HOME/workspace/asterixdb/`.
2. Go to the asterixdb folder and install it's artifacts to the local Maven repository by executing the following commands:
-
- cd asterixdb/
- mvn install -DskipTests
+ cd asterixdb/
+ mvn install -DskipTests
3. In Eclipse, import asterixdb as an existing Maven Project.
* `File -> Import -> Maven -> Existing Maven Projects -> Next`
@@ -77,8 +76,8 @@
6. Lastly, go to the asterixdb folder and execute following command again. This is required since Eclipse might have cleaned the projects and rebuilt the them without creating all necessary classes. Currently, some of the class files can be only built using mvn command.
- cd asterixdb/
- mvn install -DskipTests
+ cd asterixdb/
+ mvn install -DskipTests
---
@@ -141,11 +140,11 @@
1. To work on (say) Asterix, first clone the GitHub mirror or the ASF repository (if you already have a local clone, great!), e.g.
- git clone https://github.com/apache/incubator-asterixdb
+ git clone https://github.com/apache/asterixdb
1. `cd` into the clone repo directory, and then run the following command to create the "gerrit" remote.
- git gerrit init
+ git gerrit init
---
@@ -155,7 +154,7 @@
1. When you want to start working on a bug, feature, etc, first make a local `git` branch. Never work directly on
`master`! `master` should always be a pure mirror of `origin/master`, i.e., the GitHub mirror or the ASF repository.
- git checkout -b my_branch
+ git checkout -b my_branch
1. Make your changes, test them, etc. Feel free to `git commit` as often as you like.
@@ -163,23 +162,23 @@
1. Every so often, you should update your local `master` mirror, and then merge that onto your working branch. This will prevent your branch from falling too far out of date, and ensure that your code review proposals will merge successfully with `master`. There are a number of ways to do this, but `git-gerrit` provides a convenience function:
- git gerrit update
+ git gerrit update
1. When you are ready to submit changes for code review, first ensure that you have committed everything locally that is necessary (`git status` should report "nothing to commit, working directory clean"). This is also a good time to update (see step 4). Then run:
- git gerrit submit
+ git gerrit submit
1. This will pop open your editor to invite you to create a good commit message. This will be the single commit message which will be the only one to appear in the project's master git history. Take the time to make it clear. The editor will contain the log messages of everything you committed on your branch as a reminder, but generally you will want to delete all this and replace it with a comprehensive message. Also: As noted in the initial message, the last line of the buffer will contain a `Change-Id` field. Do not delete that line! It is used by Gerrit to identify this particular merge proposal.
1. When you save your commit message, git-gerrit will push all of the changes from your working branch up to Gerrit. Assuming no errors, you should see output similar to the following:
- remote: Resolving deltas: 100% (1/1)
- remote: Processing changes: new: 1, refs: 1, done
- remote:
- remote: New Changes:
- remote: http://fulliautomatix.ics.uci.edu:8443/30
- remote:
- To ssh://ceej@fulliautomatix.ics.uci.edu:29418/ceej-gerrit-test
- * [new branch] HEAD -> refs/for/master
+ remote: Resolving deltas: 100% (1/1)
+ remote: Processing changes: new: 1, refs: 1, done
+ remote:
+ remote: New Changes:
+ remote: http://fulliautomatix.ics.uci.edu:8443/30
+ remote:
+ To ssh://ceej@fulliautomatix.ics.uci.edu:29418/ceej-gerrit-test
+ * [new branch] HEAD -> refs/for/master
1. That URL under "New Changes" is your code review! Send it to others to request reviews.
1. If you get any negative code reviews and need to make changes, you can just repeat steps 2 - 6 of the working method. Your local branch will still have all the history you put there, if you need to revert changes or look back and see what you did, etc.
@@ -217,14 +216,4 @@
#### Manual Trigger
Builds of Gerrit patches can also be fully manually triggered from Jenkins. This can be desirable if a change is now dependent on a Hyracks change (via the Topic field feature described below), or if the patch is a draft or is not triggered automatically for any other reason. To manually trigger a build of a patchset, visit the Jenkins front-page, and click the 'Query and Trigger Gerrit patches' link. This should link to a page allowing you to manually trigger Gerrit patches. In the search field any query that can be searched in the Gerrit web interface can be used, but the default query of all open patchsets is likely fine. Hit the 'Search' button, and then click the checkbox that represents the patch that needs to be built. Then simply click 'Trigger Selected' and the patch will start building.
-### Cross-project Dependencies
-
-It is sometimes the case that a change in one related project alters interfaces or expected results that an upstream project relies on. The converse can be true as well, such as an AsterixDB change that needs a Hyracks feature. In these sorts of situations, there is a mechanism to describe to Jenkins this dependenc of one project's patchset to a particular Hyracks Change, by using the 'Topic' field in Gerrit. To utilize
-this feature, perform the following steps:
-
- 1. First submit the Hyracks change which the upstream (AsterixDB,etc..) change depends on if you have not done so already
- 1. In the Hyracks change details on the Gerrit web interface, take note of the refspec in the _Download_ field of the patchset details. It will look something like `refs/changes/07/207/1`. This is what uniquely identifies the Hyracks change in Gerrit.
- 1. Submit the dependent change now, if you have not done so already. In the Gerrit web interface, view the change's details. In the upper left-hand corner, there will be an empty field in a table, labeled `Topic`, with a notepad icon right-justified in the second column of the table. Click the notepad Icon, and in the resulting dialog box, enter in the refspec (`refs/changes/07/207/1`) as the Topic value.
- 1. Now, manually trigger the dependent change in Jenkins (see previous section for details)
-
---