Create branches according to elasticsearch versions

We create branches:

* es-0.90 for elasticsearch 0.90
* es-1.0 for elasticsearch 1.0
* es-1.1 for elasticsearch 1.1
* master for elasticsearch master

We also check that before releasing we don't have a dependency to an elasticsearch SNAPSHOT version.

Add links to each version in documentation
This commit is contained in:
David Pilato 2014-03-28 18:35:10 +01:00
parent b54ba3a524
commit 22465d23e7
4 changed files with 40 additions and 9 deletions

View File

@ -5,13 +5,18 @@ The JavaScript language plugin allows to have `javascript` (or `js`) as the lang
In order to install the plugin, simply run: `bin/plugin -install elasticsearch/elasticsearch-lang-javascript/2.0.0.RC1`. In order to install the plugin, simply run: `bin/plugin -install elasticsearch/elasticsearch-lang-javascript/2.0.0.RC1`.
* For 1.0.x elasticsearch versions, look at [master branch](https://github.com/elasticsearch/elasticsearch-lang-javascript/tree/master). * For master elasticsearch versions, look at [master branch](https://github.com/elasticsearch/elasticsearch-lang-javascript/tree/master).
* For 0.90.x elasticsearch versions, look at [1.x branch](https://github.com/elasticsearch/elasticsearch-lang-javascript/tree/1.x). * For 1.1.x elasticsearch versions, look at [es-1.1 branch](https://github.com/elasticsearch/elasticsearch-lang-javascript/tree/es-1.1).
* For 1.0.x elasticsearch versions, look at [es-1.0 branch](https://github.com/elasticsearch/elasticsearch-lang-javascript/tree/es-1.0).
* For 0.90.x elasticsearch versions, look at [es-0.90 branch](https://github.com/elasticsearch/elasticsearch-lang-javascript/tree/es-0.90).
| JavaScript Lang Plugin | elasticsearch | rhino | Release date | | JavaScript Lang Plugin | elasticsearch | rhino | Release date |
|-----------------------------|---------------------|----------|:------------:| |-----------------------------|---------------------|----------|:------------:|
| 2.0.0-SNAPSHOT | 1.0.0.RC1 -> master | 1.7R4 | XXXX-XX-XX | | 3.0.0-SNAPSHOT | master | 1.7R4 | XXXX-XX-XX |
| 2.0.0.RC1 | 1.0.0.RC1 -> master | 1.7R4 | 2014-01-15 |
Please read documentation relative to the version you are using:
* [3.0.0-SNAPSHOT](https://github.com/elasticsearch/elasticsearch-lang-javascript/blob/master/README.md)
Using javascript with function_score Using javascript with function_score
------------------------------------ ------------------------------------

View File

@ -208,6 +208,29 @@ def add_version_snapshot(readme_file, release, snapshot):
return line return line
process_file(readme_file, callback) process_file(readme_file, callback)
# Moves the README.md file from a snapshot to a release (documentation link)
def remove_documentation_snapshot(readme_file, repo_url, release, branch):
pattern = '* [%s-SNAPSHOT](%sblob/%s/README.md)' % (release, repo_url, branch)
replacement = '* [%s](%sblob/v%s/README.md)' % (release, repo_url, release)
def callback(line):
# If we find pattern, we replace its content
if line.find(pattern) >= 0:
return line.replace(pattern, replacement)
else:
return line
process_file(readme_file, callback)
# Add in README.markdown file the documentation for the next version
def add_documentation_snapshot(readme_file, repo_url, release, snapshot, branch):
pattern = '* [%s](%sblob/v%s/README.md)' % (release, repo_url, release)
replacement = '* [%s-SNAPSHOT](%sblob/%s/README.md)' % (snapshot, repo_url, branch)
def callback(line):
# If we find pattern, we copy the line and replace its content
if line.find(pattern) >= 0:
return line.replace(pattern, replacement)+line
else:
return line
process_file(readme_file, callback)
# Set release date in README.md file # Set release date in README.md file
def set_date(readme_file): def set_date(readme_file):
@ -603,8 +626,12 @@ if __name__ == '__main__':
artifact_name = find_from_pom('name') artifact_name = find_from_pom('name')
artifact_description = find_from_pom('description') artifact_description = find_from_pom('description')
project_url = find_from_pom('url') project_url = find_from_pom('url')
elasticsearch_version = find_from_pom('elasticsearch.version')
print(' Artifact Id: [%s]' % artifact_id) print(' Artifact Id: [%s]' % artifact_id)
print(' Release version: [%s]' % release_version) print(' Release version: [%s]' % release_version)
print(' Elasticsearch: [%s]' % elasticsearch_version)
if elasticsearch_version.find('-SNAPSHOT') != -1:
raise RuntimeError('Can not release with a SNAPSHOT elasticsearch dependency: %s' % elasticsearch_version)
# extract snapshot # extract snapshot
default_snapshot_version = guess_snapshot(release_version) default_snapshot_version = guess_snapshot(release_version)
@ -626,6 +653,7 @@ if __name__ == '__main__':
try: try:
pending_files = [POM_FILE, README_FILE] pending_files = [POM_FILE, README_FILE]
remove_maven_snapshot(POM_FILE, release_version) remove_maven_snapshot(POM_FILE, release_version)
remove_documentation_snapshot(README_FILE, project_url, release_version, src_branch)
remove_version_snapshot(README_FILE, release_version) remove_version_snapshot(README_FILE, release_version)
set_date(README_FILE) set_date(README_FILE)
set_install_instructions(README_FILE, artifact_id, release_version) set_install_instructions(README_FILE, artifact_id, release_version)
@ -657,6 +685,7 @@ if __name__ == '__main__':
add_maven_snapshot(POM_FILE, release_version, snapshot_version) add_maven_snapshot(POM_FILE, release_version, snapshot_version)
add_version_snapshot(README_FILE, release_version, snapshot_version) add_version_snapshot(README_FILE, release_version, snapshot_version)
add_documentation_snapshot(README_FILE, project_url, release_version, snapshot_version, src_branch)
add_pending_files(*pending_files) add_pending_files(*pending_files)
commit_snapshot() commit_snapshot()

View File

@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.elasticsearch</groupId> <groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch-lang-javascript</artifactId> <artifactId>elasticsearch-lang-javascript</artifactId>
<version>2.0.0-SNAPSHOT</version> <version>3.0.0-SNAPSHOT</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>Elasticsearch JavaScript language plugin</name> <name>Elasticsearch JavaScript language plugin</name>
<description>The JavaScript language plugin allows to have javascript as the language of scripts to execute.</description> <description>The JavaScript language plugin allows to have javascript as the language of scripts to execute.</description>
@ -32,7 +32,7 @@
</parent> </parent>
<properties> <properties>
<elasticsearch.version>1.0.1</elasticsearch.version> <elasticsearch.version>2.0.0-SNAPSHOT</elasticsearch.version>
<lucene.version>4.7.0</lucene.version> <lucene.version>4.7.0</lucene.version>
<tests.jvms>1</tests.jvms> <tests.jvms>1</tests.jvms>
<tests.shuffle>true</tests.shuffle> <tests.shuffle>true</tests.shuffle>

View File

@ -44,7 +44,6 @@ public class JavaScriptScriptSearchTests extends ElasticsearchIntegrationTest {
@Test @Test
public void testJavaScriptFilter() throws Exception { public void testJavaScriptFilter() throws Exception {
wipeIndices("test");
createIndex("test"); createIndex("test");
index("test", "type1", "1", jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject()); index("test", "type1", "1", jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject());
flush(); flush();
@ -95,7 +94,6 @@ public class JavaScriptScriptSearchTests extends ElasticsearchIntegrationTest {
@Test @Test
public void testScriptFieldUsingSource() throws Exception { public void testScriptFieldUsingSource() throws Exception {
wipeIndices("test");
createIndex("test"); createIndex("test");
index("test", "type1", "1", index("test", "type1", "1",
jsonBuilder().startObject() jsonBuilder().startObject()
@ -130,7 +128,6 @@ public class JavaScriptScriptSearchTests extends ElasticsearchIntegrationTest {
@Test @Test
public void testCustomScriptBoost() throws Exception { public void testCustomScriptBoost() throws Exception {
wipeIndices("test");
createIndex("test"); createIndex("test");
index("test", "type1", "1", jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject()); index("test", "type1", "1", jsonBuilder().startObject().field("test", "value beck").field("num1", 1.0f).endObject());
index("test", "type1", "2", jsonBuilder().startObject().field("test", "value beck").field("num1", 2.0f).endObject()); index("test", "type1", "2", jsonBuilder().startObject().field("test", "value beck").field("num1", 2.0f).endObject());