Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'releng/org.eclipse.emf.cdo.releng')
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.classpath7
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.gitignore2
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.project44
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs6
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.core.prefs401
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.ui.prefs119
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.pde.prefs31
-rw-r--r--releng/org.eclipse.emf.cdo.releng/CDO.setup828
-rw-r--r--releng/org.eclipse.emf.cdo.releng/CDOBaseline.setup370
-rw-r--r--releng/org.eclipse.emf.cdo.releng/CDOPreNeon.setup524
-rw-r--r--releng/org.eclipse.emf.cdo.releng/META-INF/MANIFEST.MF9
-rw-r--r--releng/org.eclipse.emf.cdo.releng/build.properties39
-rw-r--r--releng/org.eclipse.emf.cdo.releng/build.xml518
-rw-r--r--releng/org.eclipse.emf.cdo.releng/component.ext60
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/EPL-confirm.txt15
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/README.txt33
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/multi-line-replace.txt11
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecore50
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecorediag277
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/promotion/build.eclipse.org.xmi37
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/promotion/download.eclipse.org.xmi12
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/release-checklist.txt5
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/restructuring1.txt7
-rw-r--r--releng/org.eclipse.emf.cdo.releng/docs/restructuring2.txt44
-rw-r--r--releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/copyExample.ant22
-rw-r--r--releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.launch19
-rw-r--r--releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.project14
-rw-r--r--releng/org.eclipse.emf.cdo.releng/hudson/api.css30
-rw-r--r--releng/org.eclipse.emf.cdo.releng/hudson/api_baseline.xml7
-rw-r--r--releng/org.eclipse.emf.cdo.releng/hudson/org.eclipse.core.net.prefs7
-rw-r--r--releng/org.eclipse.emf.cdo.releng/hudson/target.xml7
-rw-r--r--releng/org.eclipse.emf.cdo.releng/hudson/test-report-empty.xml3
-rw-r--r--releng/org.eclipse.emf.cdo.releng/hudson/workspace.zipbin0 -> 66395 bytes
-rw-r--r--releng/org.eclipse.emf.cdo.releng/local.properties.template30
-rw-r--r--releng/org.eclipse.emf.cdo.releng/org.eclipse.emf.cdo.releng.target51
-rw-r--r--releng/org.eclipse.emf.cdo.releng/pom.xml31
-rw-r--r--releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Api2Html.java831
-rw-r--r--releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/GenerateExampleBuilders.java253
-rw-r--r--releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Main.java25
-rw-r--r--releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintReleaseDeliverablesForPlan.java72
-rw-r--r--releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintUnpublishedComponents.java118
-rw-r--r--releng/org.eclipse.emf.cdo.releng/versions/release.digestbin0 -> 11610 bytes
-rw-r--r--releng/org.eclipse.emf.cdo.releng/versions/release.properties6
-rw-r--r--releng/org.eclipse.emf.cdo.releng/versions/release.xml538
-rw-r--r--releng/org.eclipse.emf.cdo.releng/xsl/bom2bookmarks.xsl22
-rw-r--r--releng/org.eclipse.emf.cdo.releng/xsl/content2html.xsl68
-rw-r--r--releng/org.eclipse.emf.cdo.releng/xsl/content2xml.xsl37
50 files changed, 5650 insertions, 0 deletions
diff --git a/releng/org.eclipse.emf.cdo.releng/.classpath b/releng/org.eclipse.emf.cdo.releng/.classpath
new file mode 100644
index 0000000000..64c5e31b7a
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/releng/org.eclipse.emf.cdo.releng/.gitignore b/releng/org.eclipse.emf.cdo.releng/.gitignore
new file mode 100644
index 0000000000..d20cfe42fc
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.gitignore
@@ -0,0 +1,2 @@
+buckminster.bom
+local.properties
diff --git a/releng/org.eclipse.emf.cdo.releng/.project b/releng/org.eclipse.emf.cdo.releng/.project
new file mode 100644
index 0000000000..5c4fa51bd8
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.project
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.cdo.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.emf.cdo.releng/versions/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1396938000000</id>
+ <name></name>
+ <type>10</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-true-false-target</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..3bfec2383b
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+encoding/.project=UTF-8
+encoding//exampleBuilderTemplates/template.project=UTF-8
+encoding//hudson/target.xml=UTF-8
+encoding/CDO.setup=UTF-8
+encoding/CDOBaseline.setup=UTF-8
diff --git a/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.core.prefs b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..ac8a417390
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,401 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=2
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=160
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.ui.prefs b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..5e9a5657bc
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,119 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=false
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_EMFT
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_EMFT
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004-2016 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=false
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.ltk.core.refactoring.prefs b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.tasks.ui.prefs b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.team.ui.prefs b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..97c11e6725
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description}\r\n\r\n${task.url}
+eclipse.preferences.version=1
diff --git a/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.pde.prefs b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..fe01bb701d
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=2
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/releng/org.eclipse.emf.cdo.releng/CDO.setup b/releng/org.eclipse.emf.cdo.releng/CDO.setup
new file mode 100644
index 0000000000..df1a8e972c
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/CDO.setup
@@ -0,0 +1,828 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Project
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:git="http://www.eclipse.org/oomph/setup/git/1.0"
+ xmlns:jdt="http://www.eclipse.org/oomph/setup/jdt/1.0"
+ xmlns:mylyn="http://www.eclipse.org/oomph/setup/mylyn/1.0"
+ xmlns:pde="http://www.eclipse.org/oomph/setup/pde/1.0"
+ xmlns:predicates="http://www.eclipse.org/oomph/predicates/1.0"
+ xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
+ xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0"
+ xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0"
+ xmlns:setup.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0"
+ xmlns:workingsets="http://www.eclipse.org/oomph/workingsets/1.0"
+ xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/JDT.ecore http://www.eclipse.org/oomph/setup/mylyn/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Mylyn.ecore http://www.eclipse.org/oomph/setup/pde/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/PDE.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore http://www.eclipse.org/oomph/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/WorkingSets.ecore"
+ name="cdo"
+ label="CDO Model Repository">
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="CDO">
+ <requirement
+ name="org.eclipse.pde.api.tools.ee.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.java_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.pde_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.gerrit.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.hudson.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.git.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.oomph.projectcopy.feature.group"/>
+ <requirement
+ name="org.eclipse.oomph.version.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.ecoretools.sdk.feature.group"
+ optional="true"/>
+ <repository
+ url="http://download.eclipse.org/mylyn/snapshots/weekly"/>
+ <repository
+ url="http://download.eclipse.org/egit/updates-stable-nightly"/>
+ <repository
+ url="http://download.eclipse.org/oomph/updates"/>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:EclipseIniTask"
+ option="-Xmx"
+ value="4g"
+ vm="true"/>
+ <setupTask
+ xsi:type="setup:EclipseIniTask"
+ disabled="true"
+ option="-Doomph.targlets.iu.filter"
+ value="=.*cdo.*"
+ vm="true"/>
+ <setupTask
+ xsi:type="setup:ResourceCreationTask"
+ excludedTriggers="STARTUP MANUAL"
+ content="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;section name=&quot;Workbench&quot;>&#xD;&#xA;&#x9;&lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;layout&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;packageExplorer configured=&amp;quot;true&amp;quot; group_libraries=&amp;quot;1&amp;quot; layout=&amp;quot;2&amp;quot; linkWithEditor=&amp;quot;0&amp;quot; rootMode=&amp;quot;2&amp;quot; sortWorkingSets=&amp;quot;false&amp;quot; workingSetName=&amp;quot;&amp;quot;&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;workingSet editPageId=&amp;quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&amp;quot; factoryID=&amp;quot;org.eclipse.ui.internal.WorkingSetFactory&amp;quot; id=&amp;quot;1382792884467_1&amp;quot; label=&amp;quot;Other Projects&amp;quot; name=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;activeWorkingSet workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;allWorkingSets workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/packageExplorer&amp;gt;&quot; key=&quot;memento&quot;/>&#xD;&#xA;&#x9;&lt;/section>&#xD;&#xA;&lt;/section>&#xD;&#xA;"
+ targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml"
+ encoding="UTF-8"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE"
+ value="ignore"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unclosedCloseable"
+ value="ignore"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType"
+ value="ignore"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType"
+ value="ignore"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="/instance/org.eclipse.pde/compilers.f.unresolved-features"
+ value="2"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="eclipse.target.platform"
+ value="${cdo.target.platform}"/>
+ <setupTask
+ xsi:type="git:GitCloneTask"
+ id="cdo.git.clone"
+ remoteURI="cdo/cdo"
+ checkoutBranch="${cdo.git.branch}">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/InducedChoices">
+ <detail
+ key="inherit">
+ <value>eclipse.git.gerrit.remoteURIs</value>
+ </detail>
+ <detail
+ key="label">
+ <value>CDO Git or Gerrit Repository</value>
+ </detail>
+ <detail
+ key="target">
+ <value>remoteURI</value>
+ </detail>
+ </annotation>
+ <description>CDO</description>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:StringSubstitutionTask"
+ name="git.clone.cdo"
+ value="${cdo.git.clone.location}"/>
+ <setupTask
+ xsi:type="setup.targlets:TargletTask">
+ <targlet
+ name="CDO"
+ activeRepositoryList="${eclipse.target.platform}"
+ includeBinaryEquivalents="false">
+ <annotation
+ source="http:/www.eclipse.org/oomph/targlets/PomArtifactUpdater">
+ <detail
+ key="skipArtifactIDs">
+ <value>false</value>
+ </detail>
+ <detail
+ key="skipVersions">
+ <value>false</value>
+ </detail>
+ </annotation>
+ <annotation
+ source="http:/www.eclipse.org/oomph/targlets/PomModulesUpdater">
+ <detail
+ key="location">
+ <value>${cdo.git.clone.location/releng/org.eclipse.emf.cdo.releng.parent/plugins/pom.xml}</value>
+ </detail>
+ <detail
+ key="moduleRoots">
+ <value>${cdo.git.clone.location/plugins}</value>
+ </detail>
+ </annotation>
+ <annotation
+ source="http:/www.eclipse.org/oomph/targlets/PomModulesUpdater">
+ <detail
+ key="location">
+ <value>${cdo.git.clone.location/releng/org.eclipse.emf.cdo.releng.parent/features/pom.xml}</value>
+ </detail>
+ <detail
+ key="moduleRoots">
+ <value>${cdo.git.clone.location/features}</value>
+ </detail>
+ </annotation>
+ <annotation
+ source="http:/www.eclipse.org/oomph/targlets/TargetDefinitionGenerator-DISABLED">
+ <detail
+ key="location">
+ <value>${cdo.git.clone.location/plugins/org.eclipse.emf.cdo.releng/org.eclipse.emf.cdo.releng.target}</value>
+ </detail>
+ <detail
+ key="extraUnits">
+ <value>org.eclipse.equinox.executable.feature.group, com.google.guava</value>
+ </detail>
+ <detail
+ key="generateImplicitUnits">
+ <value>false</value>
+ </detail>
+ <detail
+ key="singleLocation">
+ <value>true</value>
+ </detail>
+ <detail
+ key="includeAllPlatforms">
+ <value>false</value>
+ </detail>
+ <detail
+ key="includeSource">
+ <value>true</value>
+ </detail>
+ </annotation>
+ <requirement
+ name="org.eclipse.emf.cdo.all.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.client"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.client.offline"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.master"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.clone"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"/>
+ <requirement
+ name="org.eclipse.jdt.feature.group"/>
+ <requirement
+ name="org.eclipse.pde.feature.group"/>
+ <requirement
+ name="org.eclipse.equinox.executable.feature.group"/>
+ <sourceLocator
+ rootFolder="${cdo.git.clone.location}"/>
+ <repositoryList
+ name="Photon">
+ <repository
+ url="http://download.eclipse.org/releases/photon"/>
+ <repository
+ url="http://download.eclipse.org/tools/orbit/downloads/latest-S"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/nebula/releases/latest"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.1.0/update"/>
+ </repositoryList>
+ <repositoryList
+ name="Oxygen">
+ <repository
+ url="http://download.eclipse.org/releases/oxygen"/>
+ <repository
+ url="http://download.eclipse.org/eclipse/updates/4.7-I-builds"/>
+ <repository
+ url="http://download.eclipse.org/tools/orbit/downloads/latest-S"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/uml2/updates/5.3milestones"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/nebula/releases/1.1.0"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.1.0/update"/>
+ </repositoryList>
+ <repositoryList
+ name="Neon">
+ <repository
+ url="http://download.eclipse.org/releases/neon"/>
+ <repository
+ url="http://download.eclipse.org/eclipse/updates/4.6"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/uml2/updates/5.2"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/nebula/releases/1.0.0"/>
+ <repository
+ url="http://download.eclipse.org/tools/buckminster/updates-4.5"/>
+ <repository
+ url="http://download.eclipse.org/ecoretools/updates/1.2/201306071421"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.1.0/update"/>
+ </repositoryList>
+ </targlet>
+ </setupTask>
+ <setupTask
+ xsi:type="setup.targlets:TargletTask"
+ targetName="Baseline Target"
+ activateTarget="false">
+ <targlet
+ name="CDO"
+ activeRepositoryList="${cdo.baseline.version}"
+ includeSources="false"
+ includeBinaryEquivalents="false">
+ <requirement
+ name="org.gastro.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.license.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.compare.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.doc.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.epp.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.installer.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.explorer.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.migrator.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.db.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.db4o.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.hibernate.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.lissome.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.mongodb.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.objectivity.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.derby.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.doc.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.h2.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.hsqldb.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.mysql.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.oracle.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.db.postgresql.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.doc.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.examples.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.examples.installer.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.tests.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.ui.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.util.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.util.doc.feature.group"/>
+ <requirement
+ name="org.eclipse.net4j.util.ui.feature.group"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"/>
+ <requirement
+ name="org.eclipse.jdt.feature.group"/>
+ <requirement
+ name="org.eclipse.pde.feature.group"/>
+ <requirement
+ name="org.eclipse.equinox.executable.feature.group"/>
+ <repositoryList
+ name="4.6">
+ <repository
+ url="http://download.eclipse.org/modeling/emf/cdo/drops/R20170614-0227"/>
+ <repository
+ url="http://download.eclipse.org/releases/oxygen/201706281000"/>
+ <repository
+ url="http://download.eclipse.org/eclipse/updates/4.7"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/uml2/updates/5.3"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/nebula/releases/1.3.0"/>
+ <repository
+ url="http://download.eclipse.org/ecoretools/updates/1.2/201306071421"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.1.0/update"/>
+ </repositoryList>
+ <repositoryList
+ name="4.5">
+ <repository
+ url="http://download.eclipse.org/modeling/emf/cdo/drops/R20160607-1209"/>
+ <repository
+ url="http://download.eclipse.org/releases/neon/201606221000"/>
+ <repository
+ url="http://download.eclipse.org/eclipse/updates/4.6"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/uml2/updates/5.2"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/nebula/releases/1.0.0"/>
+ <repository
+ url="http://download.eclipse.org/ecoretools/updates/1.2/201306071421"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.1.0/update"/>
+ </repositoryList>
+ </targlet>
+ </setupTask>
+ <setupTask
+ xsi:type="setup.targlets:TargletTask"
+ disabled="true"
+ targetName="Baseline Target"
+ activateTarget="false">
+ <targlet
+ name="CDO Dawn"
+ activeRepositoryList="${cdo.baseline.version}">
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.emf.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.gmf.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.ecore.editor.dawn.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.ecoretools.diagram.dawn.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.tests.feature.group"/>
+ </targlet>
+ </setupTask>
+ <setupTask
+ xsi:type="setup.workingsets:WorkingSetTask">
+ <workingSet
+ name="CDO"
+ id="CDO CDO">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo.*"/>
+ <operand
+ xsi:type="predicates:NotPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng\.promotion.*"/>
+ </operand>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.1 //@setupTasks.15/@workingSets.2 //@setupTasks.15/@workingSets.3 //@setupTasks.15/@workingSets.7 //@setupTasks.15/@workingSets.8"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="CDO Tests"
+ id="CDO CDO Tests">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.tests.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="CDO Examples"
+ id="CDO CDO Examples">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:OrPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.examples.*"/>
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.gastro.*"/>
+ </operand>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="CDO Dawn"
+ id="CDO CDO Dawn">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.dawn.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Net4j"
+ id="CDO Net4j">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.5 //@setupTasks.15/@workingSets.6 //@setupTasks.15/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Net4j DB"
+ id="CDO Net4j DB">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.db.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Net4j Examples"
+ id="CDO Net4j Examples">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:OrPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.examples.*"/>
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.buddies.*"/>
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.jms.*"/>
+ </operand>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Features"
+ id="CDO Features">
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo.*-feature"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j.*-feature"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.gastro.*-feature"/>
+ </workingSet>
+ <workingSet
+ name="Releng"
+ id="CDO Releng">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.15/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:CompoundTask"
+ name="Mylyn Queries">
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.repository"
+ value="https://bugs.eclipse.org/bugs"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.prefix"
+ value="/buglist.cgi?classification=Modeling&amp;product=EMF"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.components"
+ value="component=cdo.core&amp;component=cdo.legacy&amp;component=cdo.dawn&amp;component=cdo.db&amp;component=cdo.docs&amp;component=cdo.hibernate&amp;component=cdo.net4j&amp;component=cdo.net4j.db&amp;component=cdo.net4j.ui&amp;component=cdo.objy&amp;component=cdo.releng&amp;component=cdo.ui"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.open"
+ value="bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED"/>
+ <setupTask
+ xsi:type="mylyn:MylynQueriesTask"
+ repositoryURL="${cdo.bugzilla.repository}">
+ <query
+ summary="CDO_1_BUGS"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.core&amp;component=cdo.docs&amp;component=cdo.net4j&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}&amp;bug_severity=blocker&amp;bug_severity=critical&amp;bug_severity=major&amp;bug_severity=normal&amp;bug_severity=minor&amp;bug_severity=trivial"/>
+ <query
+ summary="CDO_2_FEATURES"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.core&amp;component=cdo.docs&amp;component=cdo.net4j&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}&amp;bug_severity=enhancement"/>
+ <query
+ summary="CDO_3_UI"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.net4j.ui&amp;component=cdo.ui&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_4_DB"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.db&amp;component=cdo.net4j.db&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_5_Hibernate"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.hibernate&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_6_Legacy"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.legacy&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_7_Dawn"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.dawn&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_8_Releng"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.releng&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_9_RESOLVED"
+ url="${cdo.bugzilla.prefix}&amp;${cdo.bugzilla.components}&amp;version=${cdo.bugzilla.version}&amp;bug_status=RESOLVED&amp;resolution=FIXED"/>
+ <query
+ summary="CDO_Complete"
+ url="${cdo.bugzilla.prefix}&amp;${cdo.bugzilla.components}"/>
+ </setupTask>
+ <setupTask
+ xsi:type="mylyn:MylynQueriesTask"
+ disabled="true"
+ repositoryURL="${cdo.bugzilla.repository}">
+ <query
+ summary="TaskTable"
+ url="${cdo.bugzilla.prefix}&amp;${cdo.bugzilla.components}&amp;query_format=advanced&amp;resolution=FIXED&amp;resolution=---"/>
+ </setupTask>
+ <setupTask
+ xsi:type="mylyn:MylynQueriesTask"
+ connectorKind="org.eclipse.mylyn.gerrit"
+ repositoryURL="https://git.eclipse.org/r"
+ userID="${bugzilla.id}"
+ password="${eclipse.user.password}">
+ <query
+ summary="CDO_Reviews in ${cdo.git.clone.checkoutBranch}">
+ <attribute
+ key="gerrit query type"
+ value="custom"/>
+ <attribute
+ key="gerrit query project"
+ value="cdo/cdo"/>
+ <attribute
+ key="gerrit query string"
+ value="project:cdo/cdo status:open branch:${cdo.git.clone.checkoutBranch}"/>
+ </query>
+ </setupTask>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:CompoundTask"
+ name="Mylyn Builds">
+ <setupTask
+ xsi:type="mylyn:MylynBuildsTask"
+ serverURL="https://hudson.eclipse.org/cdo"
+ userID="${bugzilla.id}"
+ password="${eclipse.user.password}">
+ <buildPlan
+ name="emf-cdo-gerrit"/>
+ <buildPlan
+ name="emf-cdo-integration"/>
+ </setupTask>
+ </setupTask>
+ <stream name="master"
+ label="4.7 Integration (Photon)">
+ <setupTask
+ xsi:type="setup.p2:P2Task">
+ <requirement
+ name="org.eclipse.emf.sdk.feature.group"/>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:RedirectionTask"
+ sourceURL="http://download.eclipse.org/eclipse/updates/4.8-I-builds"
+ targetURL="http://download.eclipse.org/eclipse/updates/4.8milestones"/>
+ <setupTask
+ xsi:type="setup:EclipseIniTask"
+ option="-Doomph.redirection.cdosetup"
+ value="=http://git.eclipse.org/c/cdo/cdo.git/plain/plugins/org.eclipse.emf.cdo.releng/CDO.setup->${cdo.git.clone.location|uri}/plugins/org.eclipse.emf.cdo.releng/CDO.setup"
+ vm="true"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.git.branch"
+ value="master"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.target.platform"
+ value="Photon"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.version"
+ value="4.7"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.baseline.version"
+ value="4.6"/>
+ <setupTask
+ xsi:type="jdt:JRETask"
+ version="JavaSE-1.8"
+ location="${jre.location-1.8}"/>
+ <setupTask
+ xsi:type="pde:APIBaselineFromTargetTask"
+ name="CDO 4.6"
+ targetName="Baseline Target"/>
+ <setupTask
+ xsi:type="setup.workingsets:WorkingSetTask">
+ <workingSet
+ name="Infrastructure"
+ id="CDO Infrastructure">
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng\.promotion.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng\.doc\.supplemental.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="cdo\.www.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.simrel\.build.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="com\.ibm\.db2\.jcc.*"/>
+ </workingSet>
+ </setupTask>
+ </stream>
+ <stream name="4.6-maintenance"
+ label="4.6 Maintenance (Oxygen)">
+ <setupTask
+ xsi:type="setup.p2:P2Task">
+ <requirement
+ name="org.eclipse.emf.sdk.feature.group"/>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.git.branch"
+ value="streams/4.6-maintenance"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.target.platform"
+ value="Oxygen"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.version"
+ value="4.6"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.baseline.version"
+ value="4.6"/>
+ <setupTask
+ xsi:type="jdt:JRETask"
+ version="JavaSE-1.8"
+ location="${jre.location-1.8}"/>
+ <setupTask
+ xsi:type="pde:APIBaselineFromTargetTask"
+ name="CDO 4.6"
+ targetName="Baseline Target"/>
+ <setupTask
+ xsi:type="setup.workingsets:WorkingSetTask">
+ <workingSet
+ name="Infrastructure"
+ id="CDO Infrastructure">
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng\.promotion.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng\.doc\.supplemental.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="cdo\.www.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.simrel\.build.*"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="com\.ibm\.db2\.jcc.*"/>
+ </workingSet>
+ </setupTask>
+ </stream>
+ <stream name="4.5-maintenance"
+ label="4.5 Maintenance (Neon)">
+ <setupTask
+ xsi:type="setup.p2:P2Task">
+ <requirement
+ name="org.eclipse.emf.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.runtime.notation.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.runtime.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.sdk.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/releases/neon"/>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.git.branch"
+ value="streams/4.5-maintenance"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.target.platform"
+ value="Neon"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.version"
+ value="4.5"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.baseline.version"
+ value="4.5"/>
+ <setupTask
+ xsi:type="jdt:JRETask"
+ version="JavaSE-1.8"
+ location="${jre.location-1.8}"/>
+ <setupTask
+ xsi:type="pde:APIBaselineFromTargetTask"
+ name="CDO 4.5"
+ targetName="Baseline Target"/>
+ </stream>
+</setup:Project>
diff --git a/releng/org.eclipse.emf.cdo.releng/CDOBaseline.setup b/releng/org.eclipse.emf.cdo.releng/CDOBaseline.setup
new file mode 100644
index 0000000000..25280d72cb
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/CDOBaseline.setup
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Product
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
+ xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0"
+ name="cdo.baseline"
+ label="CDO Baseline">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="folderName">
+ <value>eclipse</value>
+ </detail>
+ <detail
+ key="folderName.macosx">
+ <value>Eclipse</value>
+ </detail>
+ </annotation>
+ <setupTask
+ xsi:type="setup:InstallationTask"
+ id="installation"/>
+ <version name="neon"
+ label="Neon"
+ requiredJavaVersion="1.7">
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="${scope.product.label} (${scope.product.version.label})">
+ <requirement
+ name="org.eclipse.emf.cdo.sdk"/>
+ <requirement
+ name="org.eclipse.emf.cdo"/>
+ <requirement
+ name="org.eclipse.emf.cdo.admin"/>
+ <requirement
+ name="org.eclipse.emf.cdo.common"/>
+ <requirement
+ name="org.eclipse.emf.cdo.common.db"/>
+ <requirement
+ name="org.eclipse.emf.cdo.compare"/>
+ <requirement
+ name="org.eclipse.emf.cdo.doc"/>
+ <requirement
+ name="org.eclipse.emf.cdo.ecore.retrofit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.explorer"/>
+ <requirement
+ name="org.eclipse.emf.cdo.explorer.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.expressions"/>
+ <requirement
+ name="org.eclipse.emf.cdo.expressions.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.expressions.editor"/>
+ <requirement
+ name="org.eclipse.emf.cdo.migrator"/>
+ <requirement
+ name="org.eclipse.emf.cdo.net4j"/>
+ <requirement
+ name="org.eclipse.emf.cdo.security"/>
+ <requirement
+ name="org.eclipse.emf.cdo.security.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.security.editor"/>
+ <requirement
+ name="org.eclipse.emf.cdo.security.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.admin"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.db"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.db4o"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.hibernate"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.hibernate.teneo"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.lissome"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.mongodb"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.net4j"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.objectivity"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.objectivity.stub"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.ocl"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.product"/>
+ <requirement
+ name="org.eclipse.emf.cdo.server.security"/>
+ <requirement
+ name="org.eclipse.emf.cdo.transfer"/>
+ <requirement
+ name="org.eclipse.emf.cdo.transfer.repository"/>
+ <requirement
+ name="org.eclipse.emf.cdo.transfer.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.transfer.workspace"/>
+ <requirement
+ name="org.eclipse.emf.cdo.transfer.workspace.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.ui.admin"/>
+ <requirement
+ name="org.eclipse.emf.cdo.ui.compare"/>
+ <requirement
+ name="org.eclipse.emf.cdo.ui.shared"/>
+ <requirement
+ name="org.eclipse.emf.cdo.ui.team"/>
+ <requirement
+ name="org.eclipse.emf.cdo.workspace"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.all"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.db"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.db4o"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.hibernate"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.lissome"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.mango"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.model1"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.model2"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.model3"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.model4"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.model4interfaces"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.model5"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.model6"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.mongodb"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.objectivity"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.tests.uml"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.company"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.company.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.installer"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.server"/>
+ <requirement
+ name="org.gastro.business"/>
+ <requirement
+ name="org.gastro.business.edit"/>
+ <requirement
+ name="org.gastro.inventory"/>
+ <requirement
+ name="org.gastro.inventory.edit"/>
+ <requirement
+ name="org.gastro.rcp"/>
+ <requirement
+ name="org.gastro.rcp.department"/>
+ <requirement
+ name="org.gastro.rcp.table"/>
+ <requirement
+ name="org.gastro.server"/>
+ <requirement
+ name="org.gastro.server.web"/>
+ <requirement
+ name="org.gastro.testclient"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.editor"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.ecore.editor.dawn"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.ecoretools.diagram.dawn"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.emf"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore.diagram"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore.edit"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore.editor"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore.graphiti"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.examples.acore.graphiti.dawn"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.gmf"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.graphiti"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.tests"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.ui"/>
+ <requirement
+ name="org.eclipse.emf.cdo.dawn.util"/>
+ <requirement
+ name="org.eclipse.net4j.sdk"/>
+ <requirement
+ name="org.eclipse.net4j"/>
+ <requirement
+ name="org.eclipse.net4j.debug"/>
+ <requirement
+ name="org.eclipse.net4j.doc"/>
+ <requirement
+ name="org.eclipse.net4j.http"/>
+ <requirement
+ name="org.eclipse.net4j.http.common"/>
+ <requirement
+ name="org.eclipse.net4j.http.server"/>
+ <requirement
+ name="org.eclipse.net4j.http.tests"/>
+ <requirement
+ name="org.eclipse.net4j.jvm"/>
+ <requirement
+ name="org.eclipse.net4j.tcp"/>
+ <requirement
+ name="org.eclipse.net4j.tests"/>
+ <requirement
+ name="org.eclipse.net4j.ui"/>
+ <requirement
+ name="org.eclipse.net4j.ui.shared"/>
+ <requirement
+ name="org.eclipse.net4j.util"/>
+ <requirement
+ name="org.eclipse.net4j.util.doc"/>
+ <requirement
+ name="org.eclipse.net4j.util.ui"/>
+ <requirement
+ name="org.eclipse.net4j.db"/>
+ <requirement
+ name="org.eclipse.net4j.db.derby"/>
+ <requirement
+ name="org.eclipse.net4j.db.doc"/>
+ <requirement
+ name="org.eclipse.net4j.db.h2"/>
+ <requirement
+ name="org.eclipse.net4j.db.hsqldb"/>
+ <requirement
+ name="org.eclipse.net4j.db.jdbc"/>
+ <requirement
+ name="org.eclipse.net4j.db.mysql"/>
+ <requirement
+ name="org.eclipse.net4j.db.oracle"/>
+ <requirement
+ name="org.eclipse.net4j.db.postgresql"/>
+ <requirement
+ name="org.eclipse.net4j.db.tests"/>
+ <requirement
+ name="org.eclipse.net4j.buddies"/>
+ <requirement
+ name="org.eclipse.net4j.buddies.chat"/>
+ <requirement
+ name="org.eclipse.net4j.buddies.chat.ui"/>
+ <requirement
+ name="org.eclipse.net4j.buddies.common"/>
+ <requirement
+ name="org.eclipse.net4j.buddies.server"/>
+ <requirement
+ name="org.eclipse.net4j.buddies.ui"/>
+ <requirement
+ name="org.eclipse.net4j.examples"/>
+ <requirement
+ name="org.eclipse.net4j.examples.installer"/>
+ <requirement
+ name="org.eclipse.net4j.jms"/>
+ <requirement
+ name="org.eclipse.net4j.jms.admin"/>
+ <requirement
+ name="org.eclipse.net4j.jms.api"/>
+ <requirement
+ name="org.eclipse.net4j.jms.server"/>
+ <requirement
+ name="org.eclipse.net4j.jms.server.jdbc"/>
+ <requirement
+ name="org.eclipse.net4j.jms.tests"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng.apireports"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng.buildstamp"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng.help"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng.relativepaths"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng.tasks"/>
+ <requirement
+ name="epp.package.committers"
+ versionRange="[4.6.0,4.7.0)"/>
+ <requirement
+ name="org.eclipse.rcp.feature.group"
+ versionRange="[4.6.0,4.7.0)"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"/>
+ <requirement
+ name="org.eclipse.jdt.feature.group"/>
+ <requirement
+ name="org.eclipse.pde.feature.group"/>
+ <requirement
+ name="org.eclipse.equinox.executable.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/cdo/drops/R20160607-1209"/>
+ <repository
+ url="http://download.eclipse.org/releases/neon"/>
+ <repository
+ url="http://download.eclipse.org/eclipse/updates/4.6"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/uml2/updates/5.2"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/nebula/releases/1.0.0"/>
+ <repository
+ url="http://download.eclipse.org/tools/buckminster/updates-4.5"/>
+ <repository
+ url="http://download.eclipse.org/ecoretools/updates/1.2/201306071421"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.1.0/update"/>
+ </setupTask>
+ <description>CDO Baseline for Neon.</description>
+ </version>
+ <description>CDO Baseline is a product that, if installed without a bundle pool, provides a plugins folder that is suitable to zip up as an API baseline.</description>
+</setup:Product>
diff --git a/releng/org.eclipse.emf.cdo.releng/CDOPreNeon.setup b/releng/org.eclipse.emf.cdo.releng/CDOPreNeon.setup
new file mode 100644
index 0000000000..ef1951c3f9
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/CDOPreNeon.setup
@@ -0,0 +1,524 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Project
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:git="http://www.eclipse.org/oomph/setup/git/1.0"
+ xmlns:jdt="http://www.eclipse.org/oomph/setup/jdt/1.0"
+ xmlns:mylyn="http://www.eclipse.org/oomph/setup/mylyn/1.0"
+ xmlns:pde="http://www.eclipse.org/oomph/setup/pde/1.0"
+ xmlns:predicates="http://www.eclipse.org/oomph/predicates/1.0"
+ xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
+ xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0"
+ xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0"
+ xmlns:setup.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0"
+ xmlns:workingsets="http://www.eclipse.org/oomph/workingsets/1.0"
+ xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/JDT.ecore http://www.eclipse.org/oomph/setup/mylyn/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Mylyn.ecore http://www.eclipse.org/oomph/setup/pde/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/PDE.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore http://www.eclipse.org/oomph/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/WorkingSets.ecore"
+ name="cdo"
+ label="CDO Model Repository">
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="CDO">
+ <requirement
+ name="org.eclipse.pde.api.tools.ee.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.java_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.pde_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.gerrit.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.git.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.oomph.projectcopy.feature.group"/>
+ <requirement
+ name="org.eclipse.oomph.version.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.ecoretools.sdk.feature.group"
+ optional="true"/>
+ <repository
+ url="http://download.eclipse.org/mylyn/snapshots/weekly"/>
+ <repository
+ url="http://download.eclipse.org/egit/updates-stable-nightly"/>
+ <repository
+ url="http://download.eclipse.org/oomph/updates"/>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:EclipseIniTask"
+ option="-Xmx"
+ value="4g"
+ vm="true"/>
+ <setupTask
+ xsi:type="setup:ResourceCreationTask"
+ excludedTriggers="STARTUP MANUAL"
+ content="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;section name=&quot;Workbench&quot;>&#xD;&#xA;&#x9;&lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;layout&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;packageExplorer configured=&amp;quot;true&amp;quot; group_libraries=&amp;quot;1&amp;quot; layout=&amp;quot;2&amp;quot; linkWithEditor=&amp;quot;0&amp;quot; rootMode=&amp;quot;2&amp;quot; sortWorkingSets=&amp;quot;false&amp;quot; workingSetName=&amp;quot;&amp;quot;&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;workingSet editPageId=&amp;quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&amp;quot; factoryID=&amp;quot;org.eclipse.ui.internal.WorkingSetFactory&amp;quot; id=&amp;quot;1382792884467_1&amp;quot; label=&amp;quot;Other Projects&amp;quot; name=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;activeWorkingSet workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;allWorkingSets workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/packageExplorer&amp;gt;&quot; key=&quot;memento&quot;/>&#xD;&#xA;&#x9;&lt;/section>&#xD;&#xA;&lt;/section>&#xD;&#xA;"
+ targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml"
+ encoding="UTF-8"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE"
+ value="ignore"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unclosedCloseable"
+ value="ignore"/>
+ <setupTask
+ xsi:type="setup:PreferenceTask"
+ key="instance/org.eclipse.pde/compilers.f.unresolved-features"
+ value="2"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="eclipse.target.platform"
+ value="${cdo.target.platform}"/>
+ <setupTask
+ xsi:type="git:GitCloneTask"
+ id="cdo.git.clone"
+ remoteURI="cdo/cdo"
+ checkoutBranch="${cdo.git.branch}">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/InducedChoices">
+ <detail
+ key="inherit">
+ <value>eclipse.git.gerrit.remoteURIs</value>
+ </detail>
+ <detail
+ key="label">
+ <value>CDO Git or Gerrit Repository</value>
+ </detail>
+ <detail
+ key="target">
+ <value>remoteURI</value>
+ </detail>
+ </annotation>
+ <description>CDO</description>
+ </setupTask>
+ <setupTask
+ xsi:type="setup.targlets:TargletTask">
+ <targlet
+ name="CDO"
+ activeRepositoryList="${eclipse.target.platform}">
+ <requirement
+ name="org.eclipse.emf.cdo.site.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng.all.feature.group"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng"/>
+ <requirement
+ name="org.eclipse.emf.cdo.releng.release"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.client"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.client.offline"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.master"/>
+ <requirement
+ name="org.eclipse.emf.cdo.examples.clone"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"/>
+ <requirement
+ name="org.eclipse.jdt.feature.group"/>
+ <requirement
+ name="org.eclipse.pde.feature.group"/>
+ <requirement
+ name="org.eclipse.equinox.executable.feature.group"/>
+ <sourceLocator
+ rootFolder="${cdo.git.clone.location}"/>
+ <repositoryList
+ name="Mars">
+ <repository
+ url="http://download.eclipse.org/releases/mars"/>
+ <repository
+ url="http://download.eclipse.org/eclipse/updates/4.5"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/uml2/updates/4.1.x"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/technology/nebula/snapshot"/>
+ <repository
+ url="http://download.eclipse.org/tools/buckminster/updates-4.4"/>
+ <repository
+ url="http://download.eclipse.org/ecoretools/updates/1.2/201306071421"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/12.2.1/mars/repository"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.1.0/update"/>
+ </repositoryList>
+ <repositoryList
+ name="Luna">
+ <repository
+ url="http://download.eclipse.org/modeling/emf/compare/updates/releases/3.0/R201406111328"/>
+ <repository
+ url="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/emf/updates/2.10/core/R201405190339"/>
+ <repository
+ url="http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/releases/R201406111639"/>
+ <repository
+ url="http://download.eclipse.org/modeling/gmp/gmf-notation/updates/releases/R201405281433"/>
+ <repository
+ url="http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases-3.2.0"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emft/mwe/updates/releases/R201406110919/mwe"/>
+ <repository
+ url="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201406030414"/>
+ <repository
+ url="http://download.eclipse.org/ecoretools/updates/1.2/201306071421"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/transaction/updates/releases/R201405281451"/>
+ <repository
+ url="http://download.eclipse.org/tools/gef/updates/releases"/>
+ <repository
+ url="http://download.eclipse.org/graphiti/updates/0.11.0"/>
+ <repository
+ url="http://download.eclipse.org/technology/swtbot/releases/2.2.1"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/ocl/updates/releases/5.0.1"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/teneo/updates/2.0.0/interim"/>
+ <repository
+ url="http://download.eclipse.org/tools/buckminster/headless-4.3"/>
+ <repository
+ url="http://download.eclipse.org/mylyn/releases/3.12"/>
+ <repository
+ url="http://download.eclipse.org/technology/nebula/snapshot/"/>
+ <repository
+ url="http://download.eclipse.org/modeling/mdt/uml2/updates/4.1.x/R201402022055"/>
+ <repository
+ url="http://download.eclipse.org/modeling/emf/validation/updates/releases/R201405281429"/>
+ <repository
+ url="http://download.eclipse.org/mmt/qvto/updates/releases/3.4.0"/>
+ <repository
+ url="http://www.elver.org/eclipse/2.0.0/update"/>
+ <repository
+ url="http://download.oracle.com/otn_software/oepe/kepler"/>
+ </repositoryList>
+ </targlet>
+ </setupTask>
+ <setupTask
+ xsi:type="setup.workingsets:WorkingSetTask">
+ <workingSet
+ name="CDO"
+ id="CDO CDO">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo.*"/>
+ <operand
+ xsi:type="predicates:NotPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng\.promotion.*"/>
+ </operand>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.1 //@setupTasks.9/@workingSets.2 //@setupTasks.9/@workingSets.3 //@setupTasks.9/@workingSets.7 //@setupTasks.9/@workingSets.8"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="CDO Tests"
+ id="CDO CDO Tests">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.tests.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="CDO Examples"
+ id="CDO CDO Examples">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:OrPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.examples.*"/>
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.gastro.*"/>
+ </operand>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="CDO Dawn"
+ id="CDO CDO Dawn">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.dawn.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Net4j"
+ id="CDO Net4j">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.5 //@setupTasks.9/@workingSets.6 //@setupTasks.9/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Net4j DB"
+ id="CDO Net4j DB">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.db.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Net4j Examples"
+ id="CDO Net4j Examples">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:OrPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.examples.*"/>
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.buddies.*"/>
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j\.jms.*"/>
+ </operand>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ <workingSet
+ name="Features"
+ id="CDO Features">
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo.*-feature"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.net4j.*-feature"/>
+ <predicate
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.gastro.*-feature"/>
+ </workingSet>
+ <workingSet
+ name="Releng"
+ id="CDO Releng">
+ <predicate
+ xsi:type="predicates:AndPredicate">
+ <operand
+ xsi:type="predicates:NamePredicate"
+ pattern="org\.eclipse\.emf\.cdo\.releng.*"/>
+ <operand
+ xsi:type="workingsets:ExclusionPredicate"
+ excludedWorkingSet="//@setupTasks.9/@workingSets.7"/>
+ </predicate>
+ </workingSet>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:CompoundTask"
+ name="Mylyn Queries">
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.repository"
+ value="https://bugs.eclipse.org/bugs"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.prefix"
+ value="/buglist.cgi?classification=Modeling&amp;product=EMF"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.components"
+ value="component=cdo.core&amp;component=cdo.legacy&amp;component=cdo.dawn&amp;component=cdo.db&amp;component=cdo.docs&amp;component=cdo.hibernate&amp;component=cdo.net4j&amp;component=cdo.net4j.db&amp;component=cdo.net4j.ui&amp;component=cdo.objy&amp;component=cdo.releng&amp;component=cdo.ui"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.open"
+ value="bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED"/>
+ <setupTask
+ xsi:type="mylyn:MylynQueriesTask"
+ repositoryURL="${cdo.bugzilla.repository}">
+ <query
+ summary="CDO_1_BUGS"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.core&amp;component=cdo.docs&amp;component=cdo.net4j&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}&amp;bug_severity=blocker&amp;bug_severity=critical&amp;bug_severity=major&amp;bug_severity=normal&amp;bug_severity=minor&amp;bug_severity=trivial"/>
+ <query
+ summary="CDO_2_FEATURES"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.core&amp;component=cdo.docs&amp;component=cdo.net4j&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}&amp;bug_severity=enhancement"/>
+ <query
+ summary="CDO_3_UI"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.net4j.ui&amp;component=cdo.ui&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_4_DB"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.db&amp;component=cdo.net4j.db&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_5_Hibernate"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.hibernate&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_6_Legacy"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.legacy&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_7_Dawn"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.dawn&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_8_Releng"
+ url="${cdo.bugzilla.prefix}&amp;component=cdo.releng&amp;version=${cdo.bugzilla.version}&amp;${cdo.bugzilla.open}"/>
+ <query
+ summary="CDO_9_RESOLVED"
+ url="${cdo.bugzilla.prefix}&amp;${cdo.bugzilla.components}&amp;version=${cdo.bugzilla.version}&amp;bug_status=RESOLVED&amp;resolution=FIXED"/>
+ <query
+ summary="CDO_Complete"
+ url="${cdo.bugzilla.prefix}&amp;${cdo.bugzilla.components}"/>
+ </setupTask>
+ <setupTask
+ xsi:type="mylyn:MylynQueriesTask"
+ disabled="true"
+ repositoryURL="${cdo.bugzilla.repository}">
+ <query
+ summary="TaskTable"
+ url="${cdo.bugzilla.prefix}&amp;${cdo.bugzilla.components}&amp;query_format=advanced&amp;resolution=FIXED&amp;resolution=---"/>
+ </setupTask>
+ <setupTask
+ xsi:type="mylyn:MylynQueriesTask"
+ connectorKind="org.eclipse.mylyn.gerrit"
+ repositoryURL="https://git.eclipse.org/r"
+ userID="${bugzilla.id}"
+ password="${eclipse.user.password}">
+ <query
+ summary="CDO_Reviews in ${cdo.git.clone.checkoutBranch}">
+ <attribute
+ key="gerrit query type"
+ value="custom"/>
+ <attribute
+ key="gerrit query project"
+ value="cdo/cdo"/>
+ <attribute
+ key="gerrit query string"
+ value="project:cdo/cdo status:open branch:${cdo.git.clone.checkoutBranch}"/>
+ </query>
+ </setupTask>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:CompoundTask"
+ name="Mylyn Builds">
+ <setupTask
+ xsi:type="mylyn:MylynBuildsTask"
+ serverURL="https://hudson.eclipse.org/cdo"
+ userID="${bugzilla.id}"
+ password="${eclipse.user.password}">
+ <buildPlan
+ name="emf-cdo-integration"/>
+ <buildPlan
+ name="emf-cdo-maintenance"/>
+ <buildPlan
+ name="emf-cdo-gerrit"/>
+ </setupTask>
+ </setupTask>
+ <stream name="4.4-maintenance"
+ label="4.4 Maintenance (Mars)">
+ <setupTask
+ xsi:type="setup.p2:P2Task">
+ <requirement
+ name="org.eclipse.emf.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.runtime.notation.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.runtime.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.sdk.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/releases/mars"/>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.git.branch"
+ value="streams/4.4-maintenance"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.target.platform"
+ value="Mars"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.version"
+ value="4.4"/>
+ <setupTask
+ xsi:type="jdt:JRETask"
+ version="JavaSE-1.7"
+ location="${jre.location-1.7}"/>
+ <setupTask
+ xsi:type="pde:APIBaselineTask"
+ name="CDO"
+ version="4.4"
+ location="${installation.location/baseline}"
+ remoteURI="http://sourceforge.net/projects/net4j/files/Baselines/emf-cdo-4.4-baseline.zip/download"/>
+ </stream>
+ <stream name="4.3-maintenance"
+ label="4.3 Maintenance (Luna)">
+ <setupTask
+ xsi:type="setup.p2:P2Task">
+ <requirement
+ name="org.eclipse.emf.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.runtime.notation.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.runtime.sdk.feature.group"/>
+ <requirement
+ name="org.eclipse.gmf.sdk.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/releases/luna"/>
+ </setupTask>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.git.branch"
+ value="streams/4.3-maintenance"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.target.platform"
+ value="Luna"/>
+ <setupTask
+ xsi:type="setup:VariableTask"
+ name="cdo.bugzilla.version"
+ value="4.3"/>
+ <setupTask
+ xsi:type="jdt:JRETask"
+ version="JavaSE-1.7"
+ location="${jre.location-1.7}"/>
+ <setupTask
+ xsi:type="pde:APIBaselineTask"
+ name="CDO"
+ version="4.3"
+ location="${installation.location/baseline}"
+ remoteURI="http://sourceforge.net/projects/net4j/files/Baselines/emf-cdo-4.3-baseline.zip/download"/>
+ </stream>
+</setup:Project>
diff --git a/releng/org.eclipse.emf.cdo.releng/META-INF/MANIFEST.MF b/releng/org.eclipse.emf.cdo.releng/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..f3c9db6727
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: CDO Release Engineering
+Bundle-SymbolicName: org.eclipse.emf.cdo.releng
+Bundle-Version: 4.2.300.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ClassPath: .
+Export-Package: org.eclipse.emf.cdo.releng;version="4.2.300";x-internal:=true
diff --git a/releng/org.eclipse.emf.cdo.releng/build.properties b/releng/org.eclipse.emf.cdo.releng/build.properties
new file mode 100644
index 0000000000..5eafe0ab57
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/build.properties
@@ -0,0 +1,39 @@
+# Copyright (c) 2011-2013, 2015, 2016 Eike Stepper (Berlin, Germany) and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Eike Stepper - initial API and implementation
+
+stream = 4.7
+branch = master
+
+train = photon
+train.previous = oxygen
+
+eclipse = 4.8
+emf = 2.14
+weekly = I
+
+###########################################################################
+
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+bin.includes = .,\
+ META-INF/
+src.includes = build.xml,\
+ hudson/,\
+ xsl/,\
+ CDO.setup,\
+ CDOBaseline.setup,\
+ CDOPreNeon.setup,\
+ exampleBuilderTemplates/,\
+ local.properties.template,\
+ org.eclipse.emf.cdo.releng.target,\
+ pom.xml,\
+ versions/
+
+generateSourceReferences = true
diff --git a/releng/org.eclipse.emf.cdo.releng/build.xml b/releng/org.eclipse.emf.cdo.releng/build.xml
new file mode 100644
index 0000000000..d47a13dda8
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/build.xml
@@ -0,0 +1,518 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (c) 2011-2016 Eike Stepper (Berlin, Germany) and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+-->
+<project name="CDO" default="all">
+
+ <property file="local.properties" />
+ <property file="build.properties" />
+ <property environment="env" />
+
+ <taskdef resource="net/sf/antcontrib/antlib.xml">
+ <classpath>
+ <pathelement location="${ant.contrib}" />
+ </classpath>
+ </taskdef>
+
+ <!-- ========= -->
+ <!-- Clean Dir -->
+ <!-- ========= -->
+
+ <macrodef name="cleandir">
+ <attribute name="dir" />
+ <attribute name="mkdir" default="true" />
+ <sequential>
+ <delete includeemptydirs="true" failonerror="false" verbose="false">
+ <fileset dir="@{dir}" defaultexcludes="false">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <if>
+ <equals arg1="@{mkdir}" arg2="true" />
+ <then>
+ <mkdir dir="@{dir}" />
+ </then>
+ </if>
+ </sequential>
+ </macrodef>
+
+ <!-- ============= -->
+ <!-- Generate Site -->
+ <!-- ============= -->
+
+ <macrodef name="generate.site">
+ <attribute name="site" />
+ <attribute name="todir" default="${build.root}" />
+ <sequential>
+ <echo message="Generating site" />
+
+ <!-- Clean -->
+ <delete includeemptydirs="true" failonerror="false">
+ <fileset dir="@{todir}" defaultexcludes="false">
+ <include name="binary/**" />
+ <include name="features/**" />
+ <include name="plugins/**" />
+ <include name="artifacts.jar" />
+ <include name="content.jar" />
+ </fileset>
+ </delete>
+
+ <!-- Copy site contents -->
+ <copy todir="@{todir}" overwrite="true" includeemptydirs="true" preservelastmodified="true" failonerror="true">
+ <fileset dir="@{site}">
+ <include name="**" />
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <!-- ============= -->
+ <!-- Generate Help -->
+ <!-- ============= -->
+
+ <macrodef name="generate.help">
+ <sequential>
+ <echo message="" />
+ <echo message="Generating help center" />
+ <cleandir dir="${build.root}/help" mkdir="true" />
+ <copy todir="${build.root}/help">
+ <fileset dir="${releng.help}/html">
+ <include name="**" />
+ </fileset>
+ <fileset dir="${releng.help}">
+ <include name="docs.txt" />
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <!-- ============== -->
+ <!-- Generate Index -->
+ <!-- ============== -->
+
+ <macrodef name="generate.index">
+ <sequential>
+ <echo message="" />
+ <echo message="Generating repository index" />
+ <unzip src="${build.root}/content.jar" dest="${build.root}" />
+ <property name="content.xml" location="${build.root}/content.xml" />
+ <xslt style="xsl/content2html.xsl" in="${content.xml}" out="${build.root}/index.html" />
+ <xslt style="xsl/content2xml.xsl" in="${content.xml}" out="${build.root}/index.xml" />
+ <delete file="${content.xml}" />
+ </sequential>
+ </macrodef>
+
+ <!-- =================== -->
+ <!-- Generate Booksmarks -->
+ <!-- =================== -->
+
+ <macrodef name="generate.bookmarks">
+ <sequential>
+ <echo message="" />
+ <echo message="Generating dependency bookmarks" />
+ <property name="bookmarks.tmp" location="${build.root}/bookmarks.tmp" />
+ <xslt style="xsl/bom2bookmarks.xsl" in="${build.root}/bom.xml" out="${bookmarks.tmp}" />
+ <replace file="${bookmarks.tmp}" token="http://dev.eclipse.org" value="file://to-be-removed" />
+ <replace file="${bookmarks.tmp}" token="file:/home/data/httpd/" value="http://" />
+ <property name="bookmarks.xml" location="${build.root}/bookmarks.xml" />
+ <concat destfile="${bookmarks.xml}">
+ <header filtering="false">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;bookmarks&gt;
+</header>
+ <union>
+ <sort>
+ <tokens>
+ <file file="${bookmarks.tmp}" />
+ <linetokenizer includedelims="true" />
+ </tokens>
+ </sort>
+ </union>
+ <filterchain>
+ <linecontains>
+ <contains value="http://" />
+ </linecontains>
+ </filterchain>
+ <footer filtering="false">&lt;/bookmarks&gt;
+ </footer>
+ </concat>
+ <delete file="${bookmarks.tmp}" />
+ </sequential>
+ </macrodef>
+
+ <!-- ================ -->
+ <!-- Generate Dropins -->
+ <!-- ================ -->
+
+ <macrodef name="generate.dropins">
+ <sequential>
+ <echo message="" />
+ <echo message="Generating dropin archives" />
+
+ <mkdir dir="${zips}" />
+ <zip destfile="${zips}/emf-cdo-${build.qualifier}-Dropins.zip">
+ <fileset dir="${releng.site}/target/repository">
+ <include name="features/*.jar" />
+ <include name="plugins/*.jar" />
+ </fileset>
+ </zip>
+ <echo message=" for use with a &lt;a href=&quot;http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/p2_dropins_format.html&quot;&gt;dropins&lt;/a&gt; folder."
+ file="${zips}/emf-cdo-${build.qualifier}-Dropins.properties" />
+ </sequential>
+ </macrodef>
+
+ <!-- ============ -->
+ <!-- Generate API -->
+ <!-- ============
+
+ <macrodef name="generate.apireports">
+ <sequential>
+ <echo message="" />
+ <echo message="Generating API reports" />
+ <buckminster command="perform">
+ <cmdargs>
+ <arg value="-D" />
+ <arg value="api.report=${build.root}/api.xml" />
+ <arg value="org.eclipse.emf.cdo.releng#generate.apireports" />
+ </cmdargs>
+ </buckminster>
+ <echo message="Converting to HTML" />
+ <java classname="org.eclipse.emf.cdo.releng.Api2Html">
+ <classpath>
+ <pathelement location="${releng}/bin/" />
+ <pathelement location="/opt/public/common/apache-ant-1.7.1/lib/xercesImpl.jar" />
+ </classpath>
+ <arg value="${build.root}" />
+ <arg value="${build.qualifier}" />
+ <arg value="${plugins.dir}" />
+ <arg value="${tp}/plugins" />
+ </java>
+ <copy file="${releng}/hudson/api.css" todir="${build.root}" overwrite="true" />
+ </sequential>
+ </macrodef>
+ -->
+
+ <!-- ==================== -->
+ <!-- Check Commit Message -->
+ <!-- ==================== -->
+
+ <target name="check.commit.msg" if="GERRIT_CHANGE_SUBJECT">
+ <condition property="commit.msg.ok" value="true">
+ <matches pattern="^\[[1-9][0-9]*\] .*$" string="${GERRIT_CHANGE_SUBJECT}"/>
+ </condition>
+ <fail message="The commit message is not of the form '[bug-id] bug-subject'." unless="commit.msg.ok"/>
+ </target>
+
+ <!-- =========== -->
+ <!-- Init Hudson -->
+ <!-- =========== -->
+
+ <target name="init.hudson" if="env.HUDSON_URL" depends="check.commit.msg">
+ <property name="build.root" value="${env.WORKSPACE}" />
+ <property name="build.location" value="hudson" />
+ <property name="build.timestamp" value="${env.BUILD_ID}" />
+ <property name="loglevel" value="${env.LOG_LEVEL}" />
+ <property name="skip.test" value="${env.SKIP_TEST}" />
+
+ <!-- build.trigger -->
+ <if>
+ <not>
+ <isset property="build.trigger" />
+ </not>
+ <then>
+ <xmlproperty keeproot="false">
+ <url url="${env.BUILD_URL}/api/xml?tree=actions[causes[shortDescription]]" />
+ </xmlproperty>
+ <loadresource property="build.trigger">
+ <propertyresource name="action.cause.shortDescription" />
+ <filterchain>
+ <replaceregex pattern="^Triggered by " replace="" />
+ <replaceregex pattern="^Gerrit: .*" replace="gerrit" />
+ <replaceregex pattern="^Started by " replace="" />
+ <replaceregex pattern="^Gestartet durch " replace="" />
+ <replaceregex pattern="Benutzer" replace="user" />
+ </filterchain>
+ </loadresource>
+ </then>
+ </if>
+
+ <!-- build.type -->
+ <if>
+ <equals arg1="${env.BUILD_TYPE}" arg2="&lt;default&gt;" />
+ <then>
+ <condition property="build.type" value="${weekly}" else="N">
+ <equals arg1="${build.trigger}" arg2="timer" />
+ </condition>
+ </then>
+ <else>
+ <property name="build.type" value="${env.BUILD_TYPE}" />
+ </else>
+ </if>
+
+ <!-- site.signing -->
+ <condition property="site.signing" value="true" else="false">
+ <and>
+ <not>
+ <equals arg1="${build.type}" arg2="N" />
+ </not>
+ <or>
+ <equals arg1="${env.HUDSON_URL}" arg2="https://hudson.eclipse.org/cdo/" />
+ <equals arg1="${env.HUDSON_URL}" arg2="https://hudson.eclipse.org/hudson/" />
+ </or>
+ </and>
+ </condition>
+
+ <!-- eclipse.staging.area -->
+ <if>
+ <equals arg1="${site.signing}" arg2="true" />
+ <then>
+ <property name="eclipse.staging.area" value="/shared/download-staging.priv/modeling/emf/cdo/${env.JOB_NAME}" />
+ </then>
+ </if>
+ </target>
+
+ <!-- ========== -->
+ <!-- Init Local -->
+ <!-- ========== -->
+
+ <target name="init.local" unless="env.HUDSON_URL">
+ <fail unless="build.root" message="The property 'build.root' must be defined in a 'local.properties' file" />
+
+ <property name="build.location" value="local" />
+ <property name="build.trigger" value="manual" />
+ <property name="site.signing" value="false" />
+ <property name="git.clone" value="${build.root}/git" />
+
+ <!-- build.timestamp -->
+ <tstamp>
+ <format property="build.timestamp" pattern="yyyy-MM-dd_HH-mm-ss" />
+ </tstamp>
+
+ <!-- git.clone -->
+ <if>
+ <and>
+ <equals arg1="${keep.git}" arg2="true" />
+ <available file="${git.clone}" type="dir" />
+ </and>
+ <then>
+ <echo message="Keeping Git clone" />
+ </then>
+ <else>
+ <echo message="Copying Git clone from ${original.git.dir}" />
+ <cleandir dir="${git.clone}" />
+ <copy todir="${git.clone}">
+ <fileset dir="${original.git.dir}" defaultexcludes="false">
+ <exclude name="**/*.class" />
+ </fileset>
+ </copy>
+ </else>
+ </if>
+ </target>
+
+ <!-- =============== -->
+ <!-- Init Properties -->
+ <!-- =============== -->
+
+ <target name="init.properties" depends="init.hudson,init.local">
+ <condition property="no.proxy" value="${env.no_proxy}, dev.eclipse.org" else="dev.eclipse.org">
+ <isset property="env.no_proxy" />
+ </condition>
+
+ <property name="git.clone" location="${build.root}/git" />
+ <property name="features.dir" location="${git.clone}/features" />
+ <property name="plugins.dir" location="${git.clone}/plugins" />
+ <property name="releng.dir" location="${git.clone}/releng" />
+ <property name="releng" location="${releng.dir}/org.eclipse.emf.cdo.releng" />
+ <property name="releng.help" location="${releng.dir}/org.eclipse.emf.cdo.releng.help" />
+ <property name="releng.site" location="${releng.dir}/org.eclipse.emf.cdo.releng.site" />
+ <property name="test.report" location="${build.root}/test-report.xml" />
+ <property name="zips" location="${build.root}/zips" />
+
+ <!-- build.qualifier -->
+ <tempfile property="build.qualifier.tmp"
+ destdir="${java.io.tmpdir}"
+ prefix="build-qualifier-"
+ suffix=".tmp"
+ deleteonexit="true" />
+ <echo message="build.qualifier.date=${build.timestamp}" file="${build.qualifier.tmp}" />
+ <replaceregexp file="${build.qualifier.tmp}">
+ <regexp pattern="([0-9]*)-([0-9]*)-([0-9]*)_([0-9]*)-([0-9]*)-([0-9]*)" />
+ <substitution expression="\1\2\3-\4\5" />
+ </replaceregexp >
+ <property file="${build.qualifier.tmp}" />
+ <property name="build.qualifier" value="${build.type}${build.qualifier.date}" />
+ <property name="build.version" value="v${build.qualifier.date}" />
+
+ <!-- build-info.xml -->
+ <echoxml file="${build.root}/build-info.xml">
+ <build stream="${stream}"
+ branch="${branch}"
+ train="${train}"
+ eclipse="${eclipse}"
+ emf="${emf}"
+ type="${build.type}"
+ timestamp="${build.timestamp}"
+ qualifier="${build.qualifier}"
+ trigger="${build.trigger}"
+ hudson="${env.HUDSON_URL}"
+ revision="${env.GIT_COMMIT}"
+ job="${env.JOB_NAME}"
+ number="${env.BUILD_NUMBER}" />
+ </echoxml>
+
+ <!-- Echo -->
+ <echo message="stream = ${stream}" />
+ <echo message="branch = ${branch}" />
+ <echo message="train = ${train}" />
+ <echo message="build.type = ${build.type}" />
+ <echo message="build.location = ${build.location}" />
+ <echo message="build.trigger = ${build.trigger}" />
+ <echo message="build.timestamp = ${build.timestamp}" />
+ <echo message="build.qualifier = ${build.qualifier}" />
+ <echo message="site.signing = ${site.signing}" />
+ </target>
+
+ <!-- ===== -->
+ <!-- Clean -->
+ <!-- ===== -->
+
+ <target name="clean" depends="init.properties" description="Imports projects and binaries">
+ <if>
+ <not>
+ <equals arg1="${skip.clean}" arg2="true" />
+ </not>
+ <then>
+ <!-- Cleanup build.root -->
+ <delete failonerror="false" includeemptydirs="true">
+ <fileset dir="${build.root}" defaultexcludes="false">
+ <include name="zips/**" />
+ <include name="*.css" />
+ <include name="*.html" />
+ <include name="*.xml" />
+ <include name="*.log" />
+ <include name="*.txt" />
+ <exclude name="build-info.xml" />
+ </fileset>
+ </delete>
+
+ <!-- Cleanup doc plugins -->
+ <delete failonerror="false" includeemptydirs="true">
+ <fileset dir="${plugins.dir}">
+ <include name="*.doc/bin/**" />
+ <include name="*.help/bin/**" />
+ </fileset>
+ </delete>
+
+ <!-- Initialize test report -->
+ <copy file="${releng}/hudson/test-report-empty.xml" tofile="${test.report}" overwrite="true" verbose="true" />
+ </then>
+ </if>
+ </target>
+
+ <!-- ==== -->
+ <!-- Test -->
+ <!-- ==== -->
+
+ <target name="test" depends="clean" description="Runs the tests">
+ <if>
+ <equals arg1="${skip.test}" arg2="true" />
+ <then>
+ <echo message="Skipping test" />
+ </then>
+ <else>
+ <condition property="launch.config"
+ value="org.eclipse.emf.cdo.tests.all/CDO GerritTests"
+ else="org.eclipse.emf.cdo.tests.db/CDO AllTests (H2 ALL)">
+ <isset property="GERRIT_CHANGE_ID" />
+ </condition>
+ <echo message="Running ${launch.config}" />
+ </else>
+ </if>
+ </target>
+
+ <!-- ======== -->
+ <!-- Generate -->
+ <!-- ======== -->
+
+ <target name="generate" depends="clean" description="Generates the site and other artifacts">
+ <if>
+ <or>
+ <isset property="GERRIT_CHANGE_ID" />
+ <equals arg1="${skip.generate}" arg2="true" />
+ </or>
+ <then>
+ <echo message="Skipping generate" />
+ </then>
+ <else>
+ <if>
+ <not>
+ <equals arg1="${skip.generate.site}" arg2="true" />
+ </not>
+ <then>
+ <generate.site site="${releng.site}" />
+ </then>
+ </if>
+
+ <if>
+ <not>
+ <equals arg1="${skip.generate.help}" arg2="true" />
+ </not>
+ <then>
+ <generate.help />
+ </then>
+ </if>
+
+ <if>
+ <not>
+ <equals arg1="${skip.generate.index}" arg2="true" />
+ </not>
+ <then>
+ <generate.index />
+ </then>
+ </if>
+
+ <if>
+ <not>
+ <equals arg1="${skip.generate.bookmarks}" arg2="true" />
+ </not>
+ <then>
+ <generate.bookmarks />
+ </then>
+ </if>
+
+ <if>
+ <not>
+ <equals arg1="${skip.generate.dropins}" arg2="true" />
+ </not>
+ <then>
+ <generate.dropins />
+ </then>
+ </if>
+
+ <!--
+ <if>
+ <not>
+ <equals arg1="${skip.generate.apireports}" arg2="true" />
+ </not>
+ <then>
+ <generate.apireports />
+ </then>
+ </if>
+ -->
+ </else>
+ </if>
+ </target>
+
+ <!-- === -->
+ <!-- All -->
+ <!-- === -->
+
+ <target name="all" depends="test,generate" description="Runs the tests and generates the site and other artifacts" />
+
+</project>
diff --git a/releng/org.eclipse.emf.cdo.releng/component.ext b/releng/org.eclipse.emf.cdo.releng/component.ext
new file mode 100644
index 0000000000..76b022aedb
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/component.ext
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ASCII"?>
+<setup:ComponentExtension
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:setup="http://www.eclipse.org/CDO/releng/setup/1.0"
+ xsi:schemaLocation="http://www.eclipse.org/CDO/releng/setup/1.0 ../../plugin/org.eclipse.oomph.base/model/legacy/setup.ecore"
+ setup:toolVersion="8">
+ <dependencies
+ id="org.eclipse.emf.cdo.all.feature.group"/>
+ <dependencies
+ id="org.eclipse.emf.cdo.examples.client"/>
+ <dependencies
+ id="org.eclipse.emf.cdo.examples.client.offline"/>
+ <dependencies
+ id="org.eclipse.emf.cdo.examples.master"/>
+ <dependencies
+ id="org.eclipse.emf.cdo.examples.clone"/>
+ <dependencies
+ id="org.eclipse.platform.feature.group"/>
+ <dependencies
+ id="org.eclipse.jdt.feature.group"/>
+ <dependencies
+ id="org.eclipse.pde.feature.group"/>
+ <dependencies
+ id="org.eclipse.emf.feature.group"/>
+ <dependencies
+ id="org.eclipse.ocl.feature.group"/>
+ <dependencies
+ id="org.eclipse.emf.compare.feature.group"/>
+ <dependencies
+ id="org.eclipse.emf.compare.ide.ui.feature.group"/>
+ <dependencies
+ id="org.eclipse.emf.transaction.feature.group"/>
+ <dependencies
+ id="org.eclipse.emf.workspace.feature.group"/>
+ <dependencies
+ id="org.eclipse.emf.teneo.hibernate.feature.group"/>
+ <dependencies
+ id="com.mysql.jdbc.feature.group"/>
+ <dependencies
+ id="org.hsqldb.feature.group"/>
+ <dependencies
+ id="org.postgresql.feature.group"/>
+ <dependencies
+ id="com.db4o.feature.group"/>
+ <dependencies
+ id="org.hibernate.feature.group"/>
+ <dependencies
+ id="org.dom4j.feature.group"/>
+ <dependencies
+ id="javax.persistence.feature.group"/>
+ <dependencies
+ id="javax.annotation"/>
+ <dependencies
+ id="oracle.database.driver"/>
+ <dependencies
+ id="com.google.guava"
+ versionRange="15.0.0"/>
+</setup:ComponentExtension>
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/EPL-confirm.txt b/releng/org.eclipse.emf.cdo.releng/docs/EPL-confirm.txt
new file mode 100644
index 0000000000..a49307239d
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/EPL-confirm.txt
@@ -0,0 +1,15 @@
+please confirm that:
+
+1) The number of lines that you changed is smaller than 250.
+2) You are the only author of these changed lines.
+3) You apply the EPL to these changed lines.
+
+
+
+
+
+I confirm that:
+
+1) The number of lines that I changed is smaller than 250.
+2) I'm the only author of these changed lines.
+3) I apply the EPL to these changed lines.
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/README.txt b/releng/org.eclipse.emf.cdo.releng/docs/README.txt
new file mode 100644
index 0000000000..9764fde9d3
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/README.txt
@@ -0,0 +1,33 @@
+- Install Eclipse 3.6 from http://download.eclipse.org/eclipse/downloads (archive)
+- Add to the installation from http://download.eclipse.org/releases/helios (p2)
+ + EMF 2.6 SDK
+ + Buckminster 3.6 Core
+ + Buckminster 3.6 CVS Support
+ + Buckminster 3.6 PDE Support
+
+- Create empty project "_target"
+
+- Create empty target platform,
+ Add directory location $workspace_loc\_target,
+ Activate target platform
+
+- Bootstrap the releng component: http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.emf/org.eclipse.emf.cdo/releng/org.eclipse.emf.cdo.releng/psf/pserver/_bootstrap.psf?root=Modeling_Project&view=co
+ Commiters use: http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.emf/org.eclipse.emf.cdo/releng/org.eclipse.emf.cdo.releng/psf/extssh/_bootstrap.psf?root=Modeling_Project&view=co
+
+- Only for CDO 2.0: Team|Switch to "R2_0_maintenance" branch (not tag!)
+
+- Right-click local.mspec, Buckminster|Import..., wait, press Finish
+
+BUILD p2 repository:
+- Right-click org.eclipse.emf.cdo.site-feature, Buckminster|Invoke action...|site.p2(.zip).
+ DO NOT FORGET to point to the properties file, e.g. /org.eclipse.emf.cdo.releng/local.properties !!!!
+
+PROMOTE:
+- Copy update site to /home/data/httpd/download.eclipse.org/modeling/emf/cdo/updates/integration-
+- Test installation from http://download.eclipse.org/modeling/emf/cdo/updates/integration-
+- Contribute to Helios by updating the feature versions in /org.eclipse.helios.build/emf-cdo.build
+- Kick Helios aggregation: https://build.eclipse.org/hudson/view/Repository Aggregation/job/helios.runBuckyBuild
+- Test installation from http://download.eclipse.org/releases/staging
+
+Structure of site feature:
+- Edit category.xml in the site project (--> http://lenettoyeur-on-eclipse.blogspot.com/2009/11/nesting-categories.html )
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/multi-line-replace.txt b/releng/org.eclipse.emf.cdo.releng/docs/multi-line-replace.txt
new file mode 100644
index 0000000000..d71b13053f
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/multi-line-replace.txt
@@ -0,0 +1,11 @@
+Multi-line Replace
+==================
+
+for i in `find -name org.eclipse.pde.api.tools.prefs`; do sed -f sed-script $i > $i.new; mv -f $i.new $i; done
+
+sed-script
+==========
+
+1,$s/^search$/search\
+addition/
+
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecore b/releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecore
new file mode 100644
index 0000000000..53ae552033
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecore
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="releng"
+ nsURI="http://releng/1.0" nsPrefix="releng">
+ <eClassifiers xsi:type="ecore:EClass" name="Server">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="buildJobs" upperBound="-1"
+ eType="#//BuildJob" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="repositories" upperBound="-1"
+ eType="#//Repository" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BuildJob">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourceBranch" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="buckminsterComponent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="types" lowerBound="1" upperBound="-1"
+ eType="#//BuildType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="result" lowerBound="1"
+ eType="#//Repository" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="promotions" upperBound="-1"
+ eType="#//Promotion" containment="true" eOpposite="#//Promotion/build"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="BuildType">
+ <eLiterals name="N"/>
+ <eLiterals name="I" value="1"/>
+ <eLiterals name="S" value="2"/>
+ <eLiterals name="R" value="3"/>
+ <eLiterals name="M" value="4"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Promotion">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="build" eType="#//BuildJob"
+ eOpposite="#//BuildJob/promotions"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="buildType" eType="#//BuildType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
+ eType="#//Repository"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="criteria" upperBound="-1"
+ eType="#//Criterion" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Criterion">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Repository">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CompositeRepository" eSuperTypes="#//Repository">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1"
+ upperBound="-1" eType="#//Repository"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecorediag b/releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecorediag
new file mode 100644
index 0000000000..d3cc3a3883
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/promotion/Releng.ecorediag
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_owcdccQEEd-Uyc2FDGrlrg" type="EcoreTools" name="Releng" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_tPmwYMQEEd-Uyc2FDGrlrg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_tPpMoMQEEd-Uyc2FDGrlrg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_tPro4MQEEd-Uyc2FDGrlrg" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_v7HUYMQEEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//BuildJob/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v7HUYcQEEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_eKZ2YMQFEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//BuildJob/types"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_eKZ2YcQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_xCvDwMQEEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//BuildJob/sourceBranch"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xCvq0MQEEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_5tU1UMQEEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//BuildJob/buckminsterComponent"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5tVcYMQEEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_tPro4cQEEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tPro4sQEEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tPro48QEEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_tPsP8MQEEd-Uyc2FDGrlrg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_tPsP8cQEEd-Uyc2FDGrlrg" collapsed="true"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tPsP8sQEEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tPsP88QEEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_tPmwYcQEEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Releng.ecore#//BuildJob"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tPmwYsQEEd-Uyc2FDGrlrg" x="135" y="270" width="228" height="113"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NNN8gMQFEd-Uyc2FDGrlrg" type="1005">
+ <children xmi:type="notation:Node" xmi:id="_NNPKoMQFEd-Uyc2FDGrlrg" type="4010"/>
+ <children xmi:type="notation:Node" xmi:id="_NNV4UMQFEd-Uyc2FDGrlrg" type="5008">
+ <children xmi:type="notation:Node" xmi:id="_OKsRYMQFEd-Uyc2FDGrlrg" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="Releng.ecore#//BuildType/N"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OKs4cMQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Pwr-0MQFEd-Uyc2FDGrlrg" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="Releng.ecore#//BuildType/I"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Pwr-0cQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Qb7UMMQFEd-Uyc2FDGrlrg" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="Releng.ecore#//BuildType/S"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Qb7UMcQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Q57e0MQFEd-Uyc2FDGrlrg" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="Releng.ecore#//BuildType/R"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Q57e0cQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RZ1G4MQFEd-Uyc2FDGrlrg" type="2006">
+ <element xmi:type="ecore:EEnumLiteral" href="Releng.ecore#//BuildType/M"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_RZ1G4cQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_NNV4UcQFEd-Uyc2FDGrlrg" collapsed="true"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NNV4UsQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NNV4U8QFEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_NNN8gcQFEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EEnum" href="Releng.ecore#//BuildType"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NNN8gsQFEd-Uyc2FDGrlrg" x="193" y="410"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rJGhcMQFEd-Uyc2FDGrlrg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_rJHIgMQFEd-Uyc2FDGrlrg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_rJHvkMQFEd-Uyc2FDGrlrg" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_u7xh0MQFEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//Promotion/buildType"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u7xh0cQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_rJHvkcQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rJHvksQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rJHvk8QFEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_rJIWoMQFEd-Uyc2FDGrlrg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_rJIWocQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_rJIWosQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_rJIWo8QFEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_rJGhccQFEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Releng.ecore#//Promotion"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rJGhcsQFEd-Uyc2FDGrlrg" x="510" y="293" width="178" height="68"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6aj5UMQFEd-Uyc2FDGrlrg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_6alHcMQFEd-Uyc2FDGrlrg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_6alugMQFEd-Uyc2FDGrlrg" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_-AHqwMQFEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//Repository/location"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-AIR0MQFEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6alugcQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6alugsQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6alug8QFEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_6amVkMQFEd-Uyc2FDGrlrg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_6amVkcQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6amVksQFEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6amVk8QFEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_6akgYMQFEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Releng.ecore#//Repository"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6akgYcQFEd-Uyc2FDGrlrg" x="350" y="76" width="148" height="59"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uUB6cMQHEd-Uyc2FDGrlrg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_uUJPMMQHEd-Uyc2FDGrlrg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_uUJ2QMQHEd-Uyc2FDGrlrg" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_uUJ2QcQHEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uUJ2QsQHEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uUJ2Q8QHEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_uUKdUMQHEd-Uyc2FDGrlrg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_uUKdUcQHEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uUKdUsQHEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uUKdU8QHEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_uUB6ccQHEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Releng.ecore#//CompositeRepository"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uUB6csQHEd-Uyc2FDGrlrg" x="345" y="197" width="158"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_KXtnoMQIEd-Uyc2FDGrlrg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_KXu1wMQIEd-Uyc2FDGrlrg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_KXvc0MQIEd-Uyc2FDGrlrg" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_LjyZMMQIEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//Criterion/description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_LjyZMcQIEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KXvc0cQIEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KXvc0sQIEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KXvc08QIEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_KXwD4MQIEd-Uyc2FDGrlrg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_KXwD4cQIEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KXwD4sQIEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KXwD48QIEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_KXtnocQIEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Releng.ecore#//Criterion"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KXtnosQIEd-Uyc2FDGrlrg" x="525" y="415"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_idlwkMQKEd-Uyc2FDGrlrg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_idm-sMQKEd-Uyc2FDGrlrg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_idm-scQKEd-Uyc2FDGrlrg" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_jaSpYMQKEd-Uyc2FDGrlrg" type="2001">
+ <element xmi:type="ecore:EAttribute" href="Releng.ecore#//Server/name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jaSpYcQKEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_idm-ssQKEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_idm-s8QKEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_idm-tMQKEd-Uyc2FDGrlrg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_idnlwMQKEd-Uyc2FDGrlrg" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_idnlwcQKEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_idnlwsQKEd-Uyc2FDGrlrg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_idnlw8QKEd-Uyc2FDGrlrg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_idlwkcQKEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="Releng.ecore#//Server"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_idlwksQKEd-Uyc2FDGrlrg" x="40" y="76"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_owcdcsQEEd-Uyc2FDGrlrg"/>
+ <element xmi:type="ecore:EPackage" href="Releng.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_tTIwEMQFEd-Uyc2FDGrlrg" type="3002" source="_rJGhcMQFEd-Uyc2FDGrlrg" target="_tPmwYMQEEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_tTJXIMQFEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tTJXIcQFEd-Uyc2FDGrlrg" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_tTJ-MMQFEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tTJ-McQFEd-Uyc2FDGrlrg" x="-4" y="13"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_tTIwEcQFEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_tTIwEsQFEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//Promotion/build"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tTIwE8QFEd-Uyc2FDGrlrg" points="[-88, 0, 262, 1]$[-88, 0, 262, 1]$[-237, 0, 113, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9EQJUMQOEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9EQJUcQOEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_SS19EMQGEd-Uyc2FDGrlrg" type="3002" source="_tPmwYMQEEd-Uyc2FDGrlrg" target="_6aj5UMQFEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_SS3LMMQGEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SS3LMcQGEd-Uyc2FDGrlrg" x="3" y="15"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_SS3LMsQGEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SS3LM8QGEd-Uyc2FDGrlrg" x="16" y="-15"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_SS19EcQGEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_SS19EsQGEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//BuildJob/result"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SS19E8QGEd-Uyc2FDGrlrg" points="[0, -55, -175, 166]$[0, -221, -175, 0]$[102, -221, -73, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_noE_0MQHEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_noE_0cQHEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_9C1tsMQGEd-Uyc2FDGrlrg" type="3002" source="_rJGhcMQFEd-Uyc2FDGrlrg" target="_6aj5UMQFEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_9C2UwMQGEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9C2UwcQGEd-Uyc2FDGrlrg" x="-1" y="-15"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_9C270MQGEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9C270cQGEd-Uyc2FDGrlrg" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_9C1tscQGEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9C1tssQGEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//Promotion/target"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9C1ts8QGEd-Uyc2FDGrlrg" points="[0, -33, 175, 189]$[0, -222, 175, 0]$[-102, -222, 73, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mviOQMQHEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mviOQcQHEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_wuJzgMQHEd-Uyc2FDGrlrg" type="3003" source="_uUB6cMQHEd-Uyc2FDGrlrg" target="_6aj5UMQFEd-Uyc2FDGrlrg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_wuJzgcQHEd-Uyc2FDGrlrg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wuJzgsQHEd-Uyc2FDGrlrg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wuJzg8QHEd-Uyc2FDGrlrg" points="[-38, -20, -40, 70]$[-38, -84, -40, 6]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ydBJEMQHEd-Uyc2FDGrlrg" id="(0.5202702702702703,0.8983050847457628)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_1ico8MQHEd-Uyc2FDGrlrg" type="3002" source="_uUB6cMQHEd-Uyc2FDGrlrg" target="_6aj5UMQFEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_1idQAMQHEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1idQAcQHEd-Uyc2FDGrlrg" x="-22" y="38"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_1id3EMQHEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1id3EcQHEd-Uyc2FDGrlrg" x="-22" y="-16"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_1ico8cQHEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_1ico8sQHEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//CompositeRepository/elements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1ico88QHEd-Uyc2FDGrlrg" points="[0, -20, 0, 93]$[0, -84, 0, 29]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6BQ9oMQHEd-Uyc2FDGrlrg" id="(0.7531645569620253,0.16279069767441862)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7WaLoMQHEd-Uyc2FDGrlrg" id="(0.7567567567567568,0.7627118644067796)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_NmvIYMQIEd-Uyc2FDGrlrg" type="3002" source="_rJGhcMQFEd-Uyc2FDGrlrg" target="_KXtnoMQIEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_NmvvcMQIEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NmwWgMQIEd-Uyc2FDGrlrg" x="-5" y="-27"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_NmwWgcQIEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NmwWgsQIEd-Uyc2FDGrlrg" x="-5" y="14"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_NmvIYcQIEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NmvIYsQIEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//Promotion/criteria"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NmvIY8QIEd-Uyc2FDGrlrg" points="[88, -9, -174, 23]$[335, -11, 73, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_mN-R8MQKEd-Uyc2FDGrlrg" type="3002" source="_idlwkMQKEd-Uyc2FDGrlrg" target="_tPmwYMQEEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_mN_gEMQKEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mN_gEcQKEd-Uyc2FDGrlrg" x="-2" y="13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_mN_gEsQKEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mN_gE8QKEd-Uyc2FDGrlrg" x="15" y="-12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_mN-R8cQKEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_mN-R8sQKEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//Server/buildJobs"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mN-R88QKEd-Uyc2FDGrlrg" points="[0, 25, -152, -200]$[0, 225, -152, 0]$[39, 225, -113, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_qOhWQMQKEd-Uyc2FDGrlrg" type="3002" source="_idlwkMQKEd-Uyc2FDGrlrg" target="_6aj5UMQFEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_qOp5IMQKEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qOp5IcQKEd-Uyc2FDGrlrg" x="60" y="28"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_qOp5IsQKEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qOp5I8QKEd-Uyc2FDGrlrg" x="4" y="28"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_qOhWQcQKEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qOhWQsQKEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//Server/repositories"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qOhWQ8QKEd-Uyc2FDGrlrg" points="[0, -24, -327, -28]$[0, -70, -327, -74]$[327, -70, 0, -74]$[327, -24, 0, -28]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_3QeM0MQOEd-Uyc2FDGrlrg" type="3002" source="_tPmwYMQEEd-Uyc2FDGrlrg" target="_rJGhcMQFEd-Uyc2FDGrlrg">
+ <children xmi:type="notation:Node" xmi:id="_3Qfa8MQOEd-Uyc2FDGrlrg" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3Qfa8cQOEd-Uyc2FDGrlrg" x="-21" y="-13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_3Qfa8sQOEd-Uyc2FDGrlrg" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3Qfa88QOEd-Uyc2FDGrlrg" x="10" y="10"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_3QeM0cQOEd-Uyc2FDGrlrg" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3QeM0sQOEd-Uyc2FDGrlrg" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="Releng.ecore#//BuildJob/promotions"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3QeM08QOEd-Uyc2FDGrlrg" points="[113, 1, -237, 0]$[262, 1, -88, 0]$[262, 1, -88, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5rHDQMQOEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5rHDQcQOEd-Uyc2FDGrlrg" id="(0.5,0.5)"/>
+ </edges>
+</notation:Diagram>
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/promotion/build.eclipse.org.xmi b/releng/org.eclipse.emf.cdo.releng/docs/promotion/build.eclipse.org.xmi
new file mode 100644
index 0000000000..f3f3d9d910
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/promotion/build.eclipse.org.xmi
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ASCII"?>
+<releng:Server xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:releng="http://releng/1.0" xsi:schemaLocation="http://releng/1.0 Releng.ecore" name="build.eclipse.org">
+ <buildJobs name="emf-cdo-maintenance" sourceBranch="R3_0_maintenance" buckminsterComponent="/cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/releng/org.eclipse.emf.cdo.releng">
+ <types>N</types>
+ <types>M</types>
+ <types>R</types>
+ <result location="builds/{build}/result/site.p2"/>
+ <promotions buildType="M">
+ <target href="download.eclipse.org.xmi#//@repositories.0"/>
+ <criteria description="Weekly after EMF"/>
+ <criteria description="Build stable"/>
+ </promotions>
+ <promotions buildType="R">
+ <target href="download.eclipse.org.xmi#//@repositories.1"/>
+ <criteria description="Approved by project lead"/>
+ </promotions>
+ </buildJobs>
+ <buildJobs name="emf-cdo-integration" sourceBranch="HEAD" buckminsterComponent="/cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.cdo/releng/org.eclipse.emf.cdo.releng">
+ <types>I</types>
+ <types>S</types>
+ <types>R</types>
+ <result location="builds/{build}/result/site.p2"/>
+ <promotions buildType="I">
+ <target href="download.eclipse.org.xmi#//@repositories.4"/>
+ <criteria description="Weekly after EMF"/>
+ <criteria description="Build stable"/>
+ </promotions>
+ <promotions buildType="S">
+ <target href="download.eclipse.org.xmi#//@repositories.5"/>
+ <criteria description="Approved by project lead"/>
+ </promotions>
+ <promotions buildType="R">
+ <target href="download.eclipse.org.xmi#//@repositories.6"/>
+ <criteria description="Approved by project lead"/>
+ </promotions>
+ </buildJobs>
+</releng:Server>
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/promotion/download.eclipse.org.xmi b/releng/org.eclipse.emf.cdo.releng/docs/promotion/download.eclipse.org.xmi
new file mode 100644
index 0000000000..656866074d
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/promotion/download.eclipse.org.xmi
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ASCII"?>
+<releng:Server xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:releng="http://releng/1.0" xsi:schemaLocation="http://releng/1.0 Releng.ecore" name="download.eclipse.org">
+ <repositories location="modeling/emf/cdo/updates/3.0/{build}-M"/>
+ <repositories location="modeling/emf/cdo/updates/3.0/{build}-R"/>
+ <repositories location="modeling/emf/cdo/updates/4.0/{build}-I"/>
+ <repositories location="modeling/emf/cdo/updates/4.0/{build}-S"/>
+ <repositories location="modeling/emf/cdo/updates/4.0/{build}-R"/>
+ <repositories xsi:type="releng:CompositeRepository" location="modeling/emf/cdo/updates/3.0-maintenance" elements="//@repositories.0 //@repositories.1"/>
+ <repositories xsi:type="releng:CompositeRepository" location="modeling/emf/cdo/updates/3.0-releases" elements="//@repositories.1"/>
+ <repositories xsi:type="releng:CompositeRepository" location="modeling/emf/cdo/updates/4.0-integration" elements="//@repositories.2 //@repositories.3 //@repositories.4"/>
+ <repositories xsi:type="releng:CompositeRepository" location="modeling/emf/cdo/updates/4.0-stable" elements="//@repositories.3 //@repositories.4"/>
+</releng:Server>
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/release-checklist.txt b/releng/org.eclipse.emf.cdo.releng/docs/release-checklist.txt
new file mode 100644
index 0000000000..233560a179
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/release-checklist.txt
@@ -0,0 +1,5 @@
+- Execute org.eclipse.emf.cdo.releng.PrintReleaseDeliverablesForPlan
+- Execute org.eclipse.emf.cdo.releng.PrintUnpublishedComponents
+
+- Adjust emf.link in /org.eclipse.emf.cdo.releng.doc/buildTemplate.ant
+- Update /org.eclipse.emf.cdo.releng.doc/platform-api/package-list from ${TP}/plugins/org.eclipse.platform.doc.isv_???.jar
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/restructuring1.txt b/releng/org.eclipse.emf.cdo.releng/docs/restructuring1.txt
new file mode 100644
index 0000000000..0394e524ef
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/restructuring1.txt
@@ -0,0 +1,7 @@
+ org.eclipse.emf.cdo
+ deprecated
+ features
+ incubation
+ plugins
+ releng
+ vserver
diff --git a/releng/org.eclipse.emf.cdo.releng/docs/restructuring2.txt b/releng/org.eclipse.emf.cdo.releng/docs/restructuring2.txt
new file mode 100644
index 0000000000..851350de0e
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/docs/restructuring2.txt
@@ -0,0 +1,44 @@
+ org.eclipse.emf.cdo
+ cdo
+ deprecated
+ doc
+ incubation
+ releng
+ vserver
+
+ cdo.core
+ features
+ plugins
+
+ cdo.dawn
+ features
+ plugins
+
+ cdo.gastro
+ features
+ plugins
+
+ cdo.hibernate
+ features
+ plugins
+
+ cdo.objectivity
+ features
+ plugins
+
+ net4j.db
+ features
+ plugins
+
+ net4j.examples
+ features
+ plugins
+
+ net4j.transport
+ features
+ plugins
+
+ net4j.util
+ features
+ plugins
+
diff --git a/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/copyExample.ant b/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/copyExample.ant
new file mode 100644
index 0000000000..aff6f5b0b9
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/copyExample.ant
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (c) 2012 Eike Stepper (Berlin, Germany) and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+-->
+<project name="copyExample" default="main" basedir="../..">
+
+ <property name="installer" value="#INSTALLER_PROJECT#" />
+ <import file="../../${installer}/copyExampleLib.ant" optional="true" />
+ <basename file="${build.project}" property="project" />
+
+ <target name="main">
+ <copyExample project="${project}" />
+ </target>
+
+</project>
diff --git a/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.launch b/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.launch
new file mode 100644
index 0000000000..de8fdb994e
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.launch
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<booleanAttribute key="org.eclipse.ant.uiSET_INPUTHANDLER" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;#REFRESH_RESOURCES#&lt;/resources&gt;}"/>
+<booleanAttribute key="org.eclipse.debug.core.capture_output" value="false"/>
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="false"/>
+<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value=""/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;#RELEVANT_RESOURCES#&lt;/resources&gt;}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${project_loc:/#EXAMPLE_PROJECT#}/.externalToolBuilders/copyExample.ant"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,auto,"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dbuild.project=${project_loc:/#EXAMPLE_PROJECT#}"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.project b/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.project
new file mode 100644
index 0000000000..97d0290f79
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/exampleBuilderTemplates/template.project
@@ -0,0 +1,14 @@
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>auto,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value>&lt;project&gt;/.externalToolBuilders/#EXAMPLE_PROJECT#.launch</value>
+ </dictionary>
+ <dictionary>
+ <key>incclean</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
diff --git a/releng/org.eclipse.emf.cdo.releng/hudson/api.css b/releng/org.eclipse.emf.cdo.releng/hudson/api.css
new file mode 100644
index 0000000000..92b5fc19e5
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/hudson/api.css
@@ -0,0 +1,30 @@
+body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000000;
+}
+
+a:link {
+ text-decoration: none;
+ border: none;
+ color: #000000;
+}
+
+a:visited {
+ color: #000000;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+.category {
+ font-size: 16px;
+ font-weight: bold;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+
+.component, .type, .change {
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
diff --git a/releng/org.eclipse.emf.cdo.releng/hudson/api_baseline.xml b/releng/org.eclipse.emf.cdo.releng/hudson/api_baseline.xml
new file mode 100644
index 0000000000..cc38a2e9b0
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/hudson/api_baseline.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+<target name="CDO Baseline" sequenceNumber="0">
+ <locations>
+ <location path="/opt/public/modeling/emf/cdo/api_baseline" type="Directory"/>
+ </locations>
+</target>
diff --git a/releng/org.eclipse.emf.cdo.releng/hudson/org.eclipse.core.net.prefs b/releng/org.eclipse.emf.cdo.releng/hudson/org.eclipse.core.net.prefs
new file mode 100644
index 0000000000..a92b9d5aed
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/hudson/org.eclipse.core.net.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+nonProxiedHosts=*.eclipse.org|localhost|127.0.0.1
+org.eclipse.core.net.hasMigrated=true
+proxyData/HTTP/hasAuth=false
+proxyData/HTTP/host=proxy.eclipse.org
+proxyData/HTTP/port=9898
+systemProxiesEnabled=false
diff --git a/releng/org.eclipse.emf.cdo.releng/hudson/target.xml b/releng/org.eclipse.emf.cdo.releng/hudson/target.xml
new file mode 100644
index 0000000000..44c270916d
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/hudson/target.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+<target name="CDO Target" sequenceNumber="0">
+ <locations>
+ <location path="${workspace_loc}/../tp" type="Directory"/>
+ </locations>
+</target>
diff --git a/releng/org.eclipse.emf.cdo.releng/hudson/test-report-empty.xml b/releng/org.eclipse.emf.cdo.releng/hudson/test-report-empty.xml
new file mode 100644
index 0000000000..4246917f77
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/hudson/test-report-empty.xml
@@ -0,0 +1,3 @@
+<testsuite name="CDO AllTests" tests="1" errors="0" failures="0" ignored="0">
+ <testcase name="noTestHasBeenExecuted" classname="org.eclipse.emf.cdo.tests.NoTest" time="0.00"/>
+</testsuite>
diff --git a/releng/org.eclipse.emf.cdo.releng/hudson/workspace.zip b/releng/org.eclipse.emf.cdo.releng/hudson/workspace.zip
new file mode 100644
index 0000000000..c0f6a77584
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/hudson/workspace.zip
Binary files differ
diff --git a/releng/org.eclipse.emf.cdo.releng/local.properties.template b/releng/org.eclipse.emf.cdo.releng/local.properties.template
new file mode 100644
index 0000000000..09ca9104dd
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/local.properties.template
@@ -0,0 +1,30 @@
+# Copyright (c) 2013 Eike Stepper (Berlin, Germany) and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Eike Stepper - initial API and implementation
+
+ant.contrib = C:/develop/bin/ant-contrib/ant-contrib-1.0b3.jar
+original.git.dir = C:/develop/cdo/master/git/cdo
+build.root = C:/develop/cdo/master/build
+
+build.type = N
+loglevel = INFO
+
+# Set the following properties to true to speed up repeated builds
+keep.git = false
+
+skip.clean = false
+skip.test = false
+skip.generate = false
+
+skip.generate = false
+skip.generate.site = false
+skip.generate.help = false
+skip.generate.index = false
+skip.generate.bookmarks = false
+skip.generate.dropins = false
+skip.generate.apireports = false
diff --git a/releng/org.eclipse.emf.cdo.releng/org.eclipse.emf.cdo.releng.target b/releng/org.eclipse.emf.cdo.releng/org.eclipse.emf.cdo.releng.target
new file mode 100644
index 0000000000..fbf8de257b
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/org.eclipse.emf.cdo.releng.target
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+<target name="Generated from CDO" sequenceNumber="12">
+ <locations>
+ <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+ <unit id="com.db4o.feature.group" version="0.0.0"/>
+ <unit id="com.mysql.jdbc.feature.group" version="0.0.0"/>
+ <unit id="javax.persistence.feature.group" version="0.0.0"/>
+ <unit id="oracle.database.driver" version="0.0.0"/>
+ <unit id="org.apache.commons.httpclient" version="0.0.0"/>
+ <unit id="org.apache.derby" version="0.0.0"/>
+ <unit id="org.dom4j.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.teneo.hibernate.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.transaction.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.emf.workspace.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.gmf.runtime.diagram.ui.actions" version="0.0.0"/>
+ <unit id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide" version="0.0.0"/>
+ <unit id="org.eclipse.gmf.runtime.notation.edit" version="0.0.0"/>
+ <unit id="org.eclipse.gmf.runtime.notation.providers" version="0.0.0"/>
+ <unit id="org.eclipse.graphiti.ui" version="0.0.0"/>
+ <unit id="org.eclipse.nebula.widgets.gallery" version="0.0.0"/>
+ <unit id="org.eclipse.nebula.widgets.pshelf" version="0.0.0"/>
+ <unit id="org.eclipse.ocl.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.uml2.uml" version="0.0.0"/>
+ <unit id="org.hibernate.feature.group" version="0.0.0"/>
+ <unit id="org.hsqldb.feature.group" version="0.0.0"/>
+ <unit id="org.postgresql.feature.group" version="0.0.0"/>
+
+ <unit id="com.google.guava" version="15.0.0.v201403281430"/>
+ <unit id="org.eclipse.orbit.mongodb" version="2.10.1.v20130422-1135"/>
+ <unit id="org.h2" version="0.0.0"/>
+ <unit id="org.slf4j.api" version="0.0.0"/>
+ <unit id="org.apache.commons.lang" version="0.0.0"/>
+ <unit id="org.apache.log4j" version="0.0.0"/>
+
+ <repository location="http://download.eclipse.org/releases/photon"/>
+ <repository location="http://download.eclipse.org/tools/orbit/downloads/latest-S"/>
+ <repository location="http://download.eclipse.org/modeling/emf/teneo/updates/2.1.0/interim"/>
+ <repository location="http://download.eclipse.org/nebula/releases/latest"/>
+ <repository location="http://download.oracle.com/otn_software/oepe/12.2.1.3/mars/repository"/>
+ <repository location="http://www.elver.org/eclipse/2.1.0/update"/>
+ <repository location="http://download.eclipse.org/eclipse/updates/4.8milestones"/>
+ </location>
+ </locations>
+</target>
diff --git a/releng/org.eclipse.emf.cdo.releng/pom.xml b/releng/org.eclipse.emf.cdo.releng/pom.xml
new file mode 100644
index 0000000000..84f00f4f18
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2017 Eike Stepper (Berlin, Germany) and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+-->
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.emf.cdo</groupId>
+ <artifactId>org.eclipse.emf.cdo.releng.parent</artifactId>
+ <version>4.7.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.emf.cdo.releng.parent</relativePath>
+ </parent>
+
+ <groupId>org.eclipse.emf.cdo</groupId>
+ <artifactId>org.eclipse.emf.cdo.releng</artifactId>
+ <version>4.2.300-SNAPSHOT</version>
+ <packaging>eclipse-target-definition</packaging>
+
+</project>
diff --git a/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Api2Html.java b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Api2Html.java
new file mode 100644
index 0000000000..3f60b5d189
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Api2Html.java
@@ -0,0 +1,831 @@
+/*
+ * Copyright (c) 2012, 2013, 2015, 2016 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.releng;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.PrintStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.StringTokenizer;
+import java.util.jar.Manifest;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @author Eike Stepper
+ */
+public class Api2Html extends DefaultHandler
+{
+ private static final String ANNOTATION = "annotation";
+
+ private static final String ENUM = "enum";
+
+ private static final String INTERFACE = "interface";
+
+ private static final String CLASS = "class";
+
+ private static final String PLUS = "plus.gif";
+
+ private static final String MINUS = "minus.gif";
+
+ private static final String NO_DOCS = "";
+
+ private static final Pattern VERSION_CHANGED = Pattern
+ .compile("The ([^ ]+) version has been changed for the api component ([^ ]+) \\(from version ([^ ]+) to ([^ ]+)\\)");
+
+ private int lastNodeID;
+
+ private Category breaking = new Category("Breaking API Changes");
+
+ private Category compatible = new Category("Compatible API Changes");
+
+ private Category reexports = new Category("Re-Exported API Changes");
+
+ private Map<String, String> docProjects = new HashMap<String, String>();
+
+ private ClassLoader classLoader;
+
+ private String buildQualifier;
+
+ private File pluginsFolder;
+
+ private File tpFolder;
+
+ public Api2Html(File folder, String buildQualifier, File pluginsFolder, File tpFolder) throws Exception
+ {
+ this.buildQualifier = buildQualifier;
+ this.pluginsFolder = pluginsFolder;
+ this.tpFolder = tpFolder;
+
+ File xmlFile = new File(folder, "api.xml");
+ InputStream in = new FileInputStream(xmlFile);
+
+ try
+ {
+ SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
+ parser.parse(in, this);
+ }
+ finally
+ {
+ in.close();
+ }
+
+ File htmlFile = new File(folder, "api.html");
+ generate(htmlFile);
+ }
+
+ @Override
+ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
+ {
+ if ("delta".equalsIgnoreCase(qName))
+ {
+ try
+ {
+ String componentVersion = null;
+ String componentChange = null;
+
+ String componentID = attributes.getValue("componentId");
+ String typeName = attributes.getValue("type_name");
+ String elementType = attributes.getValue("element_type");
+ String kind = attributes.getValue("kind");
+ String message = attributes.getValue("message");
+
+ if (componentID == null || componentID.length() == 0)
+ {
+ if (message.startsWith("The API component "))
+ {
+ componentID = message.substring("The API component ".length());
+ componentID = componentID.substring(0, componentID.indexOf(' '));
+
+ if (message.endsWith("added"))
+ {
+ componentChange = "The plugin has been added";
+ componentVersion = readComponentVersion(componentID);
+ }
+ else if (message.endsWith("removed"))
+ {
+ componentChange = "The plugin has been removed";
+ }
+ else
+ {
+ System.out.println("No componentID: " + message);
+ return;
+ }
+ }
+ }
+
+ if (componentChange == null && (typeName == null || typeName.length() == 0))
+ {
+ Matcher matcher = VERSION_CHANGED.matcher(message);
+ if (matcher.matches())
+ {
+ componentChange = "The " + matcher.group(1) + " version has been changed from " + matcher.group(3) + " to " + matcher.group(4);
+ }
+ }
+
+ int pos = componentID.indexOf('(');
+ if (pos != -1)
+ {
+ componentVersion = componentID.substring(pos + 1, componentID.length() - 1);
+ componentID = componentID.substring(0, pos);
+ }
+
+ message = remove(message, typeName + ".");
+ message = remove(message, " in an interface that is tagged with '@noimplement'");
+ message = remove(message, " for interface " + typeName);
+ message = remove(message, " for class " + typeName);
+ if (!message.contains("modifier has been"))
+ {
+ message = remove(message, " to " + typeName);
+ }
+
+ if (message != null && message.startsWith("The deprecation modifiers has"))
+ {
+ message = "The deprecation modifier has" + message.substring("The deprecation modifiers has".length());
+ }
+
+ Category category;
+ if (message.startsWith("The re-exported type"))
+ {
+ componentChange = message;
+ category = reexports;
+ }
+ else
+ {
+ category = "true".equals(attributes.getValue("compatible")) ? compatible : breaking;
+ }
+
+ Map<String, Component> components = category.getComponents();
+
+ Component component = components.get(componentID);
+ if (component == null)
+ {
+ component = new Component(componentID);
+ components.put(componentID, component);
+ }
+
+ if (componentVersion != null)
+ {
+ component.setComponentVersion(componentVersion);
+ }
+
+ if (componentChange != null)
+ {
+ component.getChanges().add(new Change(componentChange, kind));
+ }
+ else
+ {
+ if (typeName == null || typeName.length() == 0)
+ {
+ System.out.println("No typeName: " + message);
+ return;
+ }
+
+ Type type = component.getTypes().get(typeName);
+ if (type == null)
+ {
+ type = new Type(component, typeName);
+ component.getTypes().put(typeName, type);
+ }
+
+ type.setElementType(elementType);
+ type.getChanges().add(new Change(message, kind));
+ }
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ private String readComponentVersion(String componentID) throws Exception
+ {
+ File plugin = new File(pluginsFolder, componentID);
+ File metaInf = new File(plugin, "META-INF");
+ File manifestFile = new File(metaInf, "MANIFEST.MF");
+ if (manifestFile.isFile())
+ {
+ FileInputStream in = new FileInputStream(manifestFile);
+
+ try
+ {
+ Manifest manifest = new Manifest(in);
+ java.util.jar.Attributes attributes = manifest.getMainAttributes();
+ return attributes.getValue("Bundle-Version");
+ }
+ finally
+ {
+ in.close();
+ }
+ }
+
+ return null;
+ }
+
+ private String getDocProject(String componentID) throws Exception
+ {
+ String docProject = docProjects.get(componentID);
+ if (docProject == NO_DOCS)
+ {
+ return null;
+ }
+
+ if (docProject == null)
+ {
+ docProject = NO_DOCS;
+
+ File plugin = new File(pluginsFolder, componentID);
+ if (plugin.isDirectory())
+ {
+ File buildProperties = new File(plugin, "build.properties");
+ FileInputStream in = new FileInputStream(buildProperties);
+
+ try
+ {
+ Properties properties = new Properties();
+ properties.load(in);
+
+ docProject = properties.getProperty("doc.project", NO_DOCS);
+ }
+ finally
+ {
+ in.close();
+ }
+ }
+ }
+
+ docProjects.put(componentID, docProject);
+ return docProject;
+ }
+
+ private ClassLoader createClassLoader() throws MalformedURLException
+ {
+ List<URL> urls = new ArrayList<URL>();
+ for (File plugin : pluginsFolder.listFiles())
+ {
+ if (plugin.isDirectory())
+ {
+ File bin = new File(plugin, "bin");
+ if (bin.isDirectory())
+ {
+ urls.add(bin.toURI().toURL());
+ }
+ }
+ else if (plugin.getName().endsWith(".jar"))
+ {
+ urls.add(plugin.toURI().toURL());
+ }
+ }
+
+ for (File plugin : tpFolder.listFiles())
+ {
+ urls.add(plugin.toURI().toURL());
+ }
+
+ return new URLClassLoader(urls.toArray(new URL[urls.size()]));
+ }
+
+ private void generate(File htmlFile) throws Exception
+ {
+ PrintStream out = new PrintStream(htmlFile);
+
+ try
+ {
+ out.println("<!DOCTYPE HTML>");
+ out.println("<html>");
+ out.println("<head>");
+ out.println("<title>API Evolution Report for CDO " + buildQualifier + "</title>");
+ out.println("<link rel=stylesheet type='text/css' href='api.css'>");
+ out.println("<base href='http://www.eclipse.org/cdo/images/api/'>");
+ out.println("<script type='text/javascript'>");
+ out.println(" function toggle(id)");
+ out.println(" {");
+ out.println(" e = document.getElementById(id);");
+ out.println(" e.style.display = (e.style.display == '' ? 'none' : '');");
+ out.println(" img = document.getElementById('img_' + id);");
+ out.println(" img.src = (e.style.display == 'none' ? '" + PLUS + "' : '" + MINUS + "');");
+ out.println(" }");
+ out.println("</script>");
+ out.println("</head>");
+ out.println("<body>");
+ out.println("<h1>API Evolution Report for CDO <a href='http://www.eclipse.org/cdo/downloads/#" + buildQualifier.replace('-', '_') + "'>" + buildQualifier
+ + "</a></h1>");
+
+ breaking.generate(out, "");
+ out.println("<p/>");
+ compatible.generate(out, "");
+ out.println("<p/>");
+ reexports.generate(out, "");
+
+ out.println("</body>");
+ out.println("</html>");
+ }
+ finally
+ {
+ out.close();
+ }
+ }
+
+ private List<String> sortedKeys(Map<String, ?> map)
+ {
+ List<String> list = new ArrayList<String>(map.keySet());
+ Collections.sort(list);
+ return list;
+ }
+
+ private String remove(String string, String remove)
+ {
+ if (string != null)
+ {
+ int pos = string.indexOf(remove);
+ if (pos != -1)
+ {
+ string = string.substring(0, pos) + string.substring(pos + remove.length());
+ }
+ }
+
+ return string;
+ }
+
+ public static void main(String[] args) throws Exception
+ {
+ if (args.length == 0)
+ {
+ // Just for local testing!
+ args = new String[] { "/develop", "R20120918-0947", "/develop/git/cdo/plugins", "/develop/ws/cdo/.buckminster/tp/plugins" };
+ }
+
+ new Api2Html(new File(args[0]), args[1], new File(args[2]), new File(args[3]));
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class Version implements Comparable<Version>
+ {
+ private static final String SEPARATOR = ".";
+
+ private int major = 0;
+
+ private int minor = 0;
+
+ private int micro = 0;
+
+ public Version(String version)
+ {
+ StringTokenizer st = new StringTokenizer(version, SEPARATOR, true);
+ major = Integer.parseInt(st.nextToken());
+
+ if (st.hasMoreTokens())
+ {
+ st.nextToken();
+ minor = Integer.parseInt(st.nextToken());
+
+ if (st.hasMoreTokens())
+ {
+ st.nextToken();
+ micro = Integer.parseInt(st.nextToken());
+ }
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ return major + SEPARATOR + minor + SEPARATOR + micro;
+ }
+
+ public int compareTo(Version o)
+ {
+ if (o == this)
+ {
+ return 0;
+ }
+
+ int result = major - o.major;
+ if (result != 0)
+ {
+ return result;
+ }
+
+ result = minor - o.minor;
+ if (result != 0)
+ {
+ return result;
+ }
+
+ result = micro - o.micro;
+ if (result != 0)
+ {
+ return result;
+ }
+
+ return 0;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ protected abstract class AbstractNode
+ {
+ private final String text;
+
+ public AbstractNode(String text)
+ {
+ this.text = text;
+ }
+
+ public String getText()
+ {
+ return text.replaceAll("<", "&lt;").replaceAll("\"", "&quot;");
+ }
+
+ public String getIcon()
+ {
+ return "";
+ }
+
+ public void generate(PrintStream out, String indent) throws Exception
+ {
+ String href = getHref();
+ out.print(indent + getIcon() + " " + (href != null ? "<a href='" + href + "' target='_blank'>" : "") + getText() + (href != null ? "</a>" : ""));
+ }
+
+ protected String getHref() throws Exception
+ {
+ return null;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ protected abstract class AbstractTreeNode extends AbstractNode
+ {
+ private int id;
+
+ public AbstractTreeNode(String text)
+ {
+ super(text);
+ id = ++lastNodeID;
+ }
+
+ @Override
+ public void generate(PrintStream out, String indent) throws Exception
+ {
+ out.print(indent + "<div class='" + getClass().getSimpleName().toLowerCase() + "'><a href=\"javascript:toggle('node" + id + "')\"><img src='"
+ + (isCollapsed() ? PLUS : MINUS) + "' id='img_node" + id + "'></a>");
+ super.generate(out, "");
+ out.println("</div>");
+
+ out.println(indent + "<div id=\"node" + id + "\" style='" + (isCollapsed() ? "display:none; " : "") + "margin-left:20px;'>");
+
+ generateChildren(out, indent + " ");
+
+ out.println(indent + "</div>");
+ }
+
+ protected abstract void generateChildren(PrintStream out, String indent) throws Exception;
+
+ protected boolean isCollapsed()
+ {
+ return true;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private final class Category extends AbstractTreeNode
+ {
+ private final Map<String, Component> components = new HashMap<String, Component>();
+
+ public Category(String text)
+ {
+ super(text);
+ }
+
+ public Map<String, Component> getComponents()
+ {
+ return components;
+ }
+
+ @Override
+ protected void generateChildren(PrintStream out, String indent) throws Exception
+ {
+ if (components.isEmpty())
+ {
+ out.println(indent + "<em>There are no " + getText().toLowerCase() + ".</em>");
+ }
+ else
+ {
+ for (String key : sortedKeys(components))
+ {
+ Component component = components.get(key);
+ component.generate(out, indent);
+ }
+ }
+ }
+
+ @Override
+ protected boolean isCollapsed()
+ {
+ return false;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private final class Component extends AbstractTreeNode
+ {
+ private final List<Change> changes = new ArrayList<Change>();
+
+ private final Map<String, Type> types = new HashMap<String, Type>();
+
+ private Version componentVersion;
+
+ public Component(String componentID)
+ {
+ super(componentID);
+ }
+
+ public String getComponentID()
+ {
+ return super.getText();
+ }
+
+ public void setComponentVersion(String componentVersion)
+ {
+ Version version = new Version(componentVersion);
+ if (this.componentVersion == null || this.componentVersion.compareTo(version) < 0)
+ {
+ this.componentVersion = version;
+ }
+ }
+
+ @Override
+ public String getText()
+ {
+ String componentID = getComponentID();
+ if (componentVersion != null)
+ {
+ componentID += "&nbsp;" + componentVersion;
+ }
+
+ return componentID;
+ }
+
+ @Override
+ public String getIcon()
+ {
+ return "<img src='plugin.gif'>";
+ }
+
+ public List<Change> getChanges()
+ {
+ return changes;
+ }
+
+ public Map<String, Type> getTypes()
+ {
+ return types;
+ }
+
+ @Override
+ protected void generateChildren(PrintStream out, String indent) throws Exception
+ {
+ for (Change change : changes)
+ {
+ change.generate(out, indent);
+ }
+
+ for (String key : sortedKeys(types))
+ {
+ Type type = types.get(key);
+ type.generate(out, indent);
+ }
+ }
+
+ @Override
+ protected String getHref() throws Exception
+ {
+ String componentID = getComponentID();
+ String docProject = getDocProject(componentID);
+ if (docProject == null)
+ {
+ return null;
+ }
+
+ return "http://download.eclipse.org/modeling/emf/cdo/drops/" + buildQualifier + "/help/" + docProject + "/javadoc/" + componentID.replace('.', '/')
+ + "/package-summary.html";
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private final class Type extends AbstractTreeNode
+ {
+ private final List<Change> changes = new ArrayList<Change>();
+
+ private final Component component;
+
+ private String elementType;
+
+ public Type(Component component, String text)
+ {
+ super(text);
+ this.component = component;
+ }
+
+ public String getTypeName()
+ {
+ return super.getText();
+ }
+
+ @Override
+ public String getText()
+ {
+ String typeName = getTypeName();
+ return typeName.replace('$', '.');
+ }
+
+ @Override
+ public String getIcon()
+ {
+ try
+ {
+ return "<img src='" + getElementType() + ".gif'>";
+ }
+ catch (Exception ex)
+ {
+ return super.getIcon();
+ }
+ }
+
+ public List<Change> getChanges()
+ {
+ return changes;
+ }
+
+ public void setElementType(String elementType)
+ {
+ if ("CLASS_ELEMENT_TYPE".equals(elementType))
+ {
+ this.elementType = CLASS;
+ }
+ else if ("INTERFACE_ELEMENT_TYPE".equals(elementType))
+ {
+ this.elementType = INTERFACE;
+ }
+ else if ("ENUM_ELEMENT_TYPE".equals(elementType))
+ {
+ this.elementType = ENUM;
+ }
+ else if ("ANNOTATION_ELEMENT_TYPE".equals(elementType))
+ {
+ this.elementType = ANNOTATION;
+ }
+ }
+
+ public String getElementType() throws Exception
+ {
+ if (elementType == null)
+ {
+ String typeName = getTypeName();
+ elementType = determineElementType(typeName);
+ }
+
+ return elementType;
+ }
+
+ @Override
+ protected void generateChildren(PrintStream out, String indent) throws Exception
+ {
+ for (Change change : changes)
+ {
+ change.generate(out, indent);
+ }
+ }
+
+ @Override
+ protected String getHref() throws Exception
+ {
+ String componentID = component.getComponentID();
+ String docProject = getDocProject(componentID);
+ if (docProject == null)
+ {
+ return null;
+ }
+
+ return "http://download.eclipse.org/modeling/emf/cdo/drops/" + buildQualifier + "/help/" + docProject + "/javadoc/"
+ + getTypeName().replace('.', '/').replace('$', '.') + ".html";
+ }
+
+ private String determineElementType(String typeName) throws MalformedURLException
+ {
+ if (classLoader == null)
+ {
+ classLoader = createClassLoader();
+ }
+
+ try
+ {
+ Class<?> c = classLoader.loadClass(typeName);
+ if (c.isAnnotation())
+ {
+ return ANNOTATION;
+ }
+
+ if (c.isEnum())
+ {
+ return ENUM;
+ }
+
+ if (c.isInterface())
+ {
+ return INTERFACE;
+ }
+ }
+ catch (Throwable ex)
+ {
+ //$FALL-THROUGH$
+ }
+
+ return CLASS;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private final class Change extends AbstractNode
+ {
+ private final String kind;
+
+ public Change(String text, String kind)
+ {
+ super(text);
+ if ("REMOVED".equals(kind))
+ {
+ this.kind = "removal";
+ }
+ else if ("ADDED".equals(kind))
+ {
+ this.kind = "addition";
+ }
+ else
+ {
+ this.kind = "change";
+ }
+ }
+
+ @Override
+ public String getIcon()
+ {
+ try
+ {
+ return "<img src='" + kind + ".gif'>";
+ }
+ catch (Exception ex)
+ {
+ return super.getIcon();
+ }
+ }
+
+ @Override
+ public void generate(PrintStream out, String indent) throws Exception
+ {
+ out.print(indent + "<img src='empty.gif'>");
+ super.generate(out, "");
+ out.println("<br>");
+ }
+ }
+}
diff --git a/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/GenerateExampleBuilders.java b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/GenerateExampleBuilders.java
new file mode 100644
index 0000000000..0373610ec1
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/GenerateExampleBuilders.java
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) 2012, 2013, 2015, 2016 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.releng;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @author Eike Stepper
+ */
+public class GenerateExampleBuilders
+{
+ private static final String TOKEN_EXAMPLE_PROJECT = "#EXAMPLE_PROJECT#";
+
+ private static final String TOKEN_INSTALLER_PROJECT = "#INSTALLER_PROJECT#";
+
+ private static final String TOKEN_RELEVANT_RESOURCES = "#RELEVANT_RESOURCES#";
+
+ private static final String TOKEN_REFRESH_RESOURCES = "#REFRESH_RESOURCES#";
+
+ private static final String NL = System.getProperty("line.separator");
+
+ public static void main(String[] args) throws Exception
+ {
+ File installerPoject = new File(args[0]).getCanonicalFile();
+ File pluginXML = new File(installerPoject, "plugin.xml");
+ System.out.println("Analyzing " + pluginXML);
+
+ SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
+ XMLHandler handler = new XMLHandler(installerPoject);
+ InputStream in = new FileInputStream(pluginXML);
+
+ try
+ {
+ parser.parse(in, handler);
+ }
+ finally
+ {
+ in.close();
+ }
+ }
+
+ private static void processProjectDescriptor(File exampleProject, File installerPoject, String targetFolder) throws Exception
+ {
+ String exampleProjectName = exampleProject.getName();
+ String targetPath = installerPoject.getName() + "/" + targetFolder;
+
+ StringBuilder relevantResources = new StringBuilder();
+ relevantResources.append(getItemPath(targetPath, 2));
+
+ for (File file : exampleProject.listFiles())
+ {
+ String name = file.getName();
+ int type = file.isDirectory() ? 2 : 1;
+
+ if (!"bin".equals(name))
+ {
+ String path = exampleProjectName + "/" + name;
+ relevantResources.append(getItemPath(path, type));
+ }
+ }
+
+ Map<String, String> substitutes = new HashMap<String, String>();
+ addSubtitute(substitutes, TOKEN_EXAMPLE_PROJECT, exampleProject.getName());
+ addSubtitute(substitutes, TOKEN_INSTALLER_PROJECT, installerPoject.getName());
+ addSubtitute(substitutes, TOKEN_RELEVANT_RESOURCES, relevantResources.toString());
+ addSubtitute(substitutes, TOKEN_REFRESH_RESOURCES, getItemPath(new File(targetPath).getParent(), 2));
+
+ copy(exampleProject, substitutes, "copyExample.ant", ".externalToolBuilders/copyExample.ant");
+ copy(exampleProject, substitutes, "template.launch", ".externalToolBuilders/" + exampleProjectName + ".launch");
+
+ updateProjectDescription(exampleProject, substitutes);
+ }
+
+ private static void copy(File targetProject, Map<String, String> substitutes, String template, String targetPath) throws IOException
+ {
+ File source = getTemplate(targetProject.getParentFile(), template);
+ String content = substitute(readFile(source), substitutes);
+
+ File target = new File(targetProject, targetPath);
+ System.out.println(" Generating " + target.getCanonicalPath());
+ writeFile(target, content);
+ }
+
+ private static void updateProjectDescription(File targetProject, Map<String, String> substitutes) throws IOException
+ {
+ File snippetTemplate = getTemplate(targetProject.getParentFile(), "template.project");
+ String snippet = substitute(readFile(snippetTemplate), substitutes);
+
+ File descriptionFile = new File(targetProject, ".project");
+ String description = readFile(descriptionFile);
+ System.out.println(" Updating " + descriptionFile.getCanonicalPath());
+
+ if (description.indexOf(snippet) != -1)
+ {
+ // Nothing to update
+ return;
+ }
+
+ String newDescription = description;
+
+ Pattern pattern = Pattern.compile("(\\s*<buildCommand>.*?</buildCommand>)*(\\s*<buildCommand>.*?<value>&lt;project&gt;/\\.externalToolBuilders/"
+ + targetProject.getName().replace(".", "\\.") + "\\.launch</value>.*?</buildCommand>)", Pattern.DOTALL);
+ Matcher matcher = pattern.matcher(description);
+ if (matcher.find())
+ {
+ String remove = matcher.group(2);
+ newDescription = newDescription.replace(remove, "");
+ }
+
+ newDescription = newDescription.replaceFirst("[ \\t]*</buildSpec>", snippet + "\t</buildSpec>");
+ if (!newDescription.equals(description))
+ {
+ writeFile(descriptionFile, newDescription);
+ }
+ }
+
+ private static String readFile(File file) throws IOException
+ {
+ StringBuilder result = new StringBuilder();
+ FileReader in = null;
+
+ try
+ {
+ in = new FileReader(file);
+ BufferedReader reader = new BufferedReader(in);
+
+ String line;
+ while ((line = reader.readLine()) != null)
+ {
+ result.append(line);
+ result.append(NL);
+ }
+
+ return result.toString();
+ }
+ finally
+ {
+ if (in != null)
+ {
+ in.close();
+ }
+ }
+ }
+
+ private static void writeFile(File file, String content) throws IOException
+ {
+ FileWriter out = null;
+
+ try
+ {
+ out = new FileWriter(file);
+ @SuppressWarnings("resource")
+ BufferedWriter writer = new BufferedWriter(out);
+
+ writer.write(content);
+ writer.flush();
+ }
+ finally
+ {
+ if (out != null)
+ {
+ out.close();
+ }
+ }
+ }
+
+ private static String getItemPath(String resource, int type)
+ {
+ return "&lt;item path=&quot;/" + resource.replace('\\', '/') + "&quot; type=&quot;" + type + "&quot;/&gt;&#13;&#10;";
+ }
+
+ private static File getTemplate(File root, String template)
+ {
+ return new File(root, "org.eclipse.emf.cdo.releng/exampleBuilderTemplates/" + template);
+ }
+
+ private static void addSubtitute(Map<String, String> substitutes, String token, String substitute)
+ {
+ System.out.println(" " + token + " = " + substitute);
+ substitutes.put(token, substitute);
+ }
+
+ private static String substitute(String content, Map<String, String> substitutes)
+ {
+ for (Entry<String, String> entry : substitutes.entrySet())
+ {
+ content = content.replace(entry.getKey(), entry.getValue());
+ }
+
+ return content;
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private static class XMLHandler extends DefaultHandler
+ {
+ private File installerPoject;
+
+ public XMLHandler(File installerPoject)
+ {
+ this.installerPoject = installerPoject;
+ }
+
+ @Override
+ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
+ {
+ if ("projectDescriptor".equalsIgnoreCase(qName))
+ {
+ try
+ {
+ String name = attributes.getValue("name");
+ String contentURI = attributes.getValue("contentURI");
+ File exampleProject = new File(installerPoject, "../" + name).getCanonicalFile();
+
+ System.out.println(" Processing " + name + " --> " + contentURI);
+ processProjectDescriptor(exampleProject, installerPoject, contentURI);
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+ }
+}
diff --git a/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Main.java b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Main.java
new file mode 100644
index 0000000000..7f1e50b413
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Main.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2013, 2015 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.releng;
+
+/**
+ * @author Eike Stepper
+ */
+public class Main
+{
+ public static void main(String[] args)
+ {
+ for (String arg : args)
+ {
+ System.out.println(arg);
+ }
+ }
+}
diff --git a/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintReleaseDeliverablesForPlan.java b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintReleaseDeliverablesForPlan.java
new file mode 100644
index 0000000000..a3a375467b
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintReleaseDeliverablesForPlan.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2011, 2012, 2015, 2016 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.releng;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * @author Eike Stepper
+ */
+public class PrintReleaseDeliverablesForPlan
+{
+ public static void main(String[] args) throws IOException
+ {
+ List<String> lines = new ArrayList<String>();
+ for (File featureFolder : new File("../../features").listFiles())
+ {
+ String folderName = featureFolder.getName();
+ if (folderName.equals("org.eclipse.emf.cdo.site-feature") || folderName.equals("org.eclipse.emf.cdo.license-feature"))
+ {
+ continue;
+ }
+
+ File propertiesFile = new File(featureFolder, "feature.properties");
+ InputStream in = null;
+
+ try
+ {
+ in = new FileInputStream(propertiesFile);
+
+ Properties properties = new Properties();
+ properties.load(in);
+
+ String name = properties.getProperty("featureName");
+ String description = properties.getProperty("description");
+
+ lines.add(" <html:li><html:b>" + name + "</html:b> (" + description + ")</html:li>");
+ }
+ finally
+ {
+ if (in != null)
+ {
+ in.close();
+ }
+ }
+ }
+
+ Collections.sort(lines);
+
+ System.out.println("<html:ul>");
+ for (String line : lines)
+ {
+ System.out.println(line);
+ }
+
+ System.out.println("</html:ul>");
+ }
+}
diff --git a/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintUnpublishedComponents.java b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintUnpublishedComponents.java
new file mode 100644
index 0000000000..fb66622567
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/PrintUnpublishedComponents.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.releng;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author Eike Stepper
+ */
+public class PrintUnpublishedComponents
+{
+ public static final String DROP = "I20120914-0410";
+
+ private static final Set<String> features = new HashSet<String>()
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String toString()
+ {
+ return " (feature)";
+ }
+ };
+
+ private static final Set<String> plugins = new HashSet<String>()
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public String toString()
+ {
+ return " (plugin)";
+ }
+ };
+
+ public static void main(String[] args) throws IOException
+ {
+ initDrop();
+
+ checkComponents("../../features", features);
+ checkComponents("../../plugins", plugins);
+ }
+
+ private static void initDrop() throws MalformedURLException, IOException
+ {
+ URL url = new URL("http://download.eclipse.org/modeling/emf/cdo/drops/" + DROP + "/index.xml");
+ InputStream stream = url.openStream();
+
+ try
+ {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+ String line;
+ while ((line = reader.readLine()) != null)
+ {
+ String prefix = "<element name=\"";
+ int start = line.indexOf(prefix);
+ if (start != -1)
+ {
+ line = line.substring(start + prefix.length());
+ if (line.endsWith("type=\"org.eclipse.update.feature\"/>"))
+ {
+ features.add(line.substring(0, line.indexOf('"')));
+ }
+ else if (line.endsWith("type=\"osgi.bundle\"/>"))
+ {
+ plugins.add(line.substring(0, line.indexOf('"')));
+ }
+ }
+ }
+ }
+ finally
+ {
+ if (stream != null)
+ {
+ stream.close();
+ }
+ }
+ }
+
+ private static void checkComponents(String folder, Set<String> publishedComponents)
+ {
+ for (File file : new File(folder).listFiles())
+ {
+ String id = file.getName();
+ if (id.equals("org.eclipse.emf.cdo.site-feature") || id.equals("org.eclipse.emf.cdo.license-feature"))
+ {
+ continue;
+ }
+
+ final String FEATURE_SUFFIX = "-feature";
+ if (id.endsWith(FEATURE_SUFFIX))
+ {
+ id = id.substring(0, id.length() - FEATURE_SUFFIX.length());
+ }
+
+ if (!publishedComponents.contains(id))
+ {
+ System.out.println(id + publishedComponents);
+ }
+ }
+ }
+}
diff --git a/releng/org.eclipse.emf.cdo.releng/versions/release.digest b/releng/org.eclipse.emf.cdo.releng/versions/release.digest
new file mode 100644
index 0000000000..ae7dd03eab
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/versions/release.digest
Binary files differ
diff --git a/releng/org.eclipse.emf.cdo.releng/versions/release.properties b/releng/org.eclipse.emf.cdo.releng/versions/release.properties
new file mode 100644
index 0000000000..9b3c9e024c
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/versions/release.properties
@@ -0,0 +1,6 @@
+#
+#Sun Dec 17 20:08:44 CET 2017
+root.projects=org.eclipse.emf.cdo.all-feature org.eclipse.net4j.db.db2-feature org.eclipse.emf.cdo.releng org.eclipse.emf.cdo.examples.clone org.eclipse.emf.cdo.examples.client org.eclipse.emf.cdo.examples.master org.eclipse.emf.cdo.examples.client.offline org.eclipse.emf.cdo.ecore.retrofit
+baseline.for.integration=true
+show.deviations=false
+ignored.references=org.eclipse.emf.cdo.examples.installer.client org.eclipse.emf.cdo.examples.installer.clone org.eclipse.emf.cdo.examples.installer.master org.eclipse.net4j.db.derby org.apache.derby org.eclipse.emf.cdo.server.objectivity org.eclipse.emf.cdo.server.objectivity.stub org.eclipse.emf.cdo.tests.objectivity org.eclipse.net4j.defs org.eclipse.emf.cdo.defs org.eclipse.emf.cdo.tests.ui org.eclipse.emf.cdo.ecore.retrofit org.apache.commons.codec.source org.apache.commons.httpclient.source org.apache.derby.source org.h2.source org.apache.commons.lang.source org.eclipse.emf.cdo.compare.source org.eclipse.emf.cdo.examples.hibernate.source org.eclipse.emf.cdo.examples.installer.source org.eclipse.emf.cdo.examples.source org.eclipse.emf.cdo.sdk.source org.eclipse.emf.cdo.server.db4o.source org.eclipse.emf.cdo.server.embedded.source org.eclipse.emf.cdo.server.hibernate.source org.eclipse.emf.cdo.server.objectivity.source org.eclipse.emf.cdo.tests.hibernate.source org.eclipse.emf.cdo.tests.source org.eclipse.net4j.db.hsqldb.source org.eclipse.net4j.db.mysql.source org.eclipse.net4j.db.postgresql.source org.eclipse.net4j.examples.installer.source org.eclipse.net4j.examples.source org.eclipse.net4j.sdk.source org.eclipse.net4j.tests.source org.gastro.source
diff --git a/releng/org.eclipse.emf.cdo.releng/versions/release.xml b/releng/org.eclipse.emf.cdo.releng/versions/release.xml
new file mode 100644
index 0000000000..a298f9de80
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/versions/release.xml
@@ -0,0 +1,538 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<release>
+ <feature name="org.eclipse.emf.cdo" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.edit" version="4.4.100"/>
+ <plugin name="org.eclipse.emf.cdo.common" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.common.db" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.net4j" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.workspace" version="4.2.200"/>
+ <plugin name="org.eclipse.emf.cdo.expressions" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.expressions.edit" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.expressions.editor" version="4.3.300"/>
+ <plugin name="org.eclipse.emf.cdo.security" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.security.edit" version="4.4.0"/>
+ <plugin name="org.eclipse.emf.cdo.security.editor" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.security.ui" version="4.3.300"/>
+ <plugin name="org.eclipse.emf.cdo.admin" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.ui" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.ui.shared" version="4.3.0"/>
+ <plugin name="org.eclipse.emf.cdo.ui.admin" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.ui.team" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.transfer" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.repository" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.ui" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.workspace" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.workspace.ui" version="4.2.200"/>
+ <plugin name="org.eclipse.emf.cdo.explorer" version="4.5.100"/>
+ <plugin name="org.eclipse.emf.cdo.explorer.ui" version="4.4.200"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.compare" version="4.4.100">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.compare" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.ui.compare" version="4.4.100"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.compare.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.dawn" version="2.1.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.dawn" version="2.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.ui" version="2.0.400"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.util" version="2.0.300"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.emf" version="2.0.300"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.gmf" version="2.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.graphiti" version="2.1.300"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.dawn.sdk" version="2.1.200">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.dawn.sdk.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.dawn" version="2.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.sdk" version="2.0.400"/>
+ <plugin name="org.apache.commons.lang.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ </feature>
+ <feature name="org.eclipse.emf.cdo.dawn.sdk.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.doc" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.doc" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.epp" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo" version="4.6.0"/>
+ <feature name="org.eclipse.emf.cdo.server" version="4.6.0"/>
+ <feature name="org.eclipse.net4j" version="4.6.0"/>
+ <feature name="org.eclipse.net4j.db" version="4.6.0"/>
+ <feature name="org.eclipse.emf.cdo.server.db" version="4.5.0"/>
+ <feature name="org.eclipse.emf.cdo.examples.installer" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.examples.installer" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.compare" version="4.4.100"/>
+ <feature name="org.eclipse.emf.cdo.doc" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.migrator" version="3.0.700"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.examples" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.examples.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.examples.installer" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.examples" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.examples.company" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.examples.company.edit" version="4.0.500"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.examples.hibernate" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.examples.hibernate.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.eclipse.emf.cdo.examples.hibernate.client" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.examples.hibernate.server" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.examples.hibernate.log4j" fragment="true" version="4.0.300"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.examples.hibernate.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.examples.installer" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.examples.installer.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.eclipse.emf.cdo.examples.installer" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.examples.installer.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.examples.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.explorer" version="4.5.0">
+ <plugin name="org.eclipse.emf.cdo.explorer" version="4.5.100"/>
+ <plugin name="org.eclipse.emf.cdo.explorer.ui" version="4.4.200"/>
+ <plugin name="org.eclipse.emf.cdo" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.edit" version="4.4.100"/>
+ <plugin name="org.eclipse.emf.cdo.common" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.net4j" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.ui" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.ui.shared" version="4.3.0"/>
+ <plugin name="org.eclipse.net4j" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j.jvm" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.tcp" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.ui" version="4.2.400"/>
+ <plugin name="org.eclipse.net4j.ui.shared" version="4.3.100"/>
+ <plugin name="org.eclipse.net4j.util" version="3.7.0"/>
+ <plugin name="org.eclipse.net4j.util.ui" version="3.6.100"/>
+ <plugin name="org.eclipse.emf.cdo.transfer" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.repository" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.ui" version="4.2.400"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400"/>
+ <feature name="org.eclipse.emf.cdo.migrator" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.migrator" version="3.0.700"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.releng.help" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.releng.help" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.sdk" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.doc" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.compare" version="4.4.100"/>
+ <feature name="org.eclipse.emf.cdo.compare.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.embedded" version="4.6.0"/>
+ <feature name="org.eclipse.emf.cdo.server.embedded.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.db" version="4.5.0"/>
+ <feature name="org.eclipse.emf.cdo.server.mongodb" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.server.lissome" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.sdk.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.hibernate.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.db4o.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.objectivity.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.migrator" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.examples.installer" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.sdk" version="4.1.400"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.sdk.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.common" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.server" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.server.net4j" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.server.ocl" version="4.2.200"/>
+ <plugin name="org.eclipse.emf.cdo.server.product" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.server.security" version="4.3.300"/>
+ <plugin name="org.eclipse.emf.cdo.security" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.expressions" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.server.admin" version="4.2.300"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.db" version="4.5.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.server.db" version="4.5.0"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.db4o" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.server.db4o" version="4.0.400"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.db4o.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.embedded" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.server" version="4.6.0"/>
+ <feature name="org.eclipse.emf.cdo" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.server.embedded" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j.jvm" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.embedded.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.hibernate" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.server.hibernate" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.server.hibernate.teneo" version="4.2.300"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.hibernate.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.server.lissome" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.server.lissome" version="4.2.300"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.mongodb" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.server.mongodb" version="4.0.500"/>
+ <plugin name="org.eclipse.orbit.mongodb" version="2.10.1"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.objectivity" version="4.2.300">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.emf.cdo.server.objectivity" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.server.objectivity.stub" version="4.3.0"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.server.objectivity.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.site" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.dawn.sdk" version="2.1.200"/>
+ <feature name="org.eclipse.emf.cdo.epp" version="4.6.0"/>
+ <feature name="org.eclipse.emf.cdo.examples" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.examples.hibernate" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.sdk" version="4.6.0"/>
+ <feature name="org.eclipse.emf.cdo.server.db4o" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.server.hibernate" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.server.objectivity" version="4.2.300"/>
+ <feature name="org.eclipse.emf.cdo.tests" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.tests.hibernate" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.db.derby" version="4.2.300"/>
+ <feature name="org.eclipse.net4j.db.hsqldb" version="4.2.300"/>
+ <feature name="org.eclipse.net4j.db.mysql" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.db.oracle" version="1.1.300"/>
+ <feature name="org.eclipse.net4j.db.postgresql" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.examples" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.sdk" version="4.6.0"/>
+ <feature name="org.eclipse.net4j.tests" version="4.2.400"/>
+ <feature name="org.gastro" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.releng.help" version="4.2.400"/>
+ <feature name="org.eclipse.emf.cdo.explorer" version="4.5.0"/>
+ <plugin name="org.eclipse.emf.cdo.tests.objectivity" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.examples.server" version="4.0.400"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.tests" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.tests.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.eclipse.emf.cdo.tests" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.db" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.lissome" version="4.2.200"/>
+ <plugin name="org.eclipse.emf.cdo.tests.mongodb" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.tests.db4o" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.mango" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model1" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model2" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model3" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model4" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model4interfaces" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model5" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model6" version="4.0.400"/>
+ <plugin name="org.eclipse.emf.cdo.tests.uml" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.tests.all" version="4.1.400"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.tests.hibernate" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.emf.cdo.tests.hibernate.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.eclipse.emf.cdo.tests.hibernate" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.emf.cdo.tests.hibernate.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.emf.cdo.tests.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.net4j.util.ui" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j.jvm" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.tcp" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.http.common" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.http" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.http.server" version="4.0.600"/>
+ <plugin name="org.apache.commons.codec" version="1.9.0"/>
+ <plugin name="org.apache.commons.httpclient" version="3.1.0"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.net4j.db.h2" version="4.3.0"/>
+ <plugin name="org.eclipse.net4j.util" version="3.7.0"/>
+ <plugin name="org.eclipse.net4j.db" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j.db.jdbc" version="4.3.200"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.derby" version="4.2.300">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.db.derby" version="4.1.400"/>
+ <plugin name="org.apache.derby" version="10.11.1"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.doc" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.db.doc" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.h2" version="4.3.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.db.h2" version="4.3.0"/>
+ <plugin name="org.h2" version="1.3.168"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.hsqldb" version="4.2.300">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.db.hsqldb" version="4.2.300"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.hsqldb.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.db.mysql" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.db.mysql" version="4.2.400"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.mysql.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.db.oracle" version="1.1.300">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.db.oracle" version="1.1.300"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.postgresql" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.db.postgresql" version="4.2.400"/>
+ </feature>
+ <feature name="org.eclipse.net4j.db.postgresql.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.doc" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.doc" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.net4j.examples" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.net4j.examples.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.examples.installer" version="4.2.400"/>
+ <plugin name="org.eclipse.net4j.examples" version="4.0.600"/>
+ <plugin name="org.eclipse.net4j.buddies.common" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.buddies.server" version="4.0.600"/>
+ <plugin name="org.eclipse.net4j.buddies" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.buddies.ui" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.buddies.chat" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.buddies.chat.ui" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.jms.api" version="3.1.300"/>
+ <plugin name="org.eclipse.net4j.jms" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.jms.admin" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.jms.server" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.jms.server.jdbc" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.jms.tests" version="4.0.300"/>
+ </feature>
+ <feature name="org.eclipse.net4j.examples.installer" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.net4j.examples.installer.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.eclipse.net4j.examples.installer" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.net4j.examples.installer.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.examples.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.sdk" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.net4j" version="4.6.0"/>
+ <feature name="org.eclipse.net4j.db" version="4.6.0"/>
+ <feature name="org.eclipse.net4j.ui" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.doc" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.util.doc" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.db.doc" version="4.2.400"/>
+ <feature name="org.eclipse.net4j.db.hsqldb.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.db.mysql.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.db.postgresql.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.sdk.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.examples.installer" version="4.2.400"/>
+ <plugin name="org.eclipse.net4j.sdk" version="4.1.400"/>
+ <plugin name="org.apache.commons.codec.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.apache.commons.httpclient.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.apache.derby.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.h2.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ </feature>
+ <feature name="org.eclipse.net4j.sdk.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.tests" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.net4j.tests.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.eclipse.net4j.tests" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.http.tests" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.db.tests" version="4.0.400"/>
+ </feature>
+ <feature name="org.eclipse.net4j.tests.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <feature name="org.eclipse.net4j.ui" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.ui" version="4.2.400"/>
+ </feature>
+ <feature name="org.eclipse.net4j.util" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.util" version="3.7.0"/>
+ <plugin name="org.apache.commons.logging" version="1.1.1"/>
+ </feature>
+ <feature name="org.eclipse.net4j.util.doc" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <plugin name="org.eclipse.net4j.util.doc" version="4.1.500"/>
+ </feature>
+ <feature name="org.eclipse.net4j.util.ui" version="4.6.0">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.eclipse.net4j.util" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j.util.ui" version="3.6.100"/>
+ <plugin name="org.eclipse.net4j.ui.shared" version="4.3.100"/>
+ <plugin name="org.eclipse.net4j.debug" version="3.0.500"/>
+ </feature>
+ <feature name="org.gastro" version="4.2.400">
+ <feature name="org.eclipse.emf.cdo.license" version="4.1.400" license="true"/>
+ <feature name="org.gastro.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.gastro.business" version="4.0.500"/>
+ <plugin name="org.gastro.business.edit" version="4.0.500"/>
+ <plugin name="org.gastro.inventory" version="4.0.500"/>
+ <plugin name="org.gastro.inventory.edit" version="4.0.500"/>
+ <plugin name="org.gastro.rcp" version="4.1.400"/>
+ <plugin name="org.gastro.rcp.department" version="4.0.500"/>
+ <plugin name="org.gastro.rcp.table" version="4.0.400"/>
+ <plugin name="org.gastro.server" version="4.0.400"/>
+ <plugin name="org.gastro.server.web" version="4.1.300"/>
+ <plugin name="org.gastro.testclient" version="4.0.300"/>
+ <plugin name="org.apache.commons.lang" version="2.6.0"/>
+ <plugin name="org.apache.commons.lang.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ </feature>
+ <feature name="org.gastro.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.apache.commons.codec" version="1.9.0"/>
+ <plugin name="org.apache.commons.codec.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.apache.commons.httpclient" version="3.1.0"/>
+ <plugin name="org.apache.commons.httpclient.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.apache.commons.lang" version="2.6.0"/>
+ <plugin name="org.apache.commons.lang.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.apache.commons.logging" version="1.1.1"/>
+ <plugin name="org.apache.derby" version="10.11.1"/>
+ <plugin name="org.apache.derby.source" version="0.0.0"/> <!-- UNRESOLVED -->
+ <plugin name="org.eclipse.emf.cdo" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.admin" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.common" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.common.db" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.compare" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.dawn" version="2.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.emf" version="2.0.300"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.gmf" version="2.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.graphiti" version="2.1.300"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.sdk" version="2.0.400"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.ui" version="2.0.400"/>
+ <plugin name="org.eclipse.emf.cdo.dawn.util" version="2.0.300"/>
+ <plugin name="org.eclipse.emf.cdo.doc" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.ecore.retrofit" fragment="true" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.edit" version="4.4.100"/>
+ <plugin name="org.eclipse.emf.cdo.examples" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.examples.client" version="4.1.300"/>
+ <plugin name="org.eclipse.emf.cdo.examples.client.offline" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.examples.clone" version="4.1.300"/>
+ <plugin name="org.eclipse.emf.cdo.examples.company" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.examples.company.edit" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.examples.hibernate.client" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.examples.hibernate.log4j" fragment="true" version="4.0.300"/>
+ <plugin name="org.eclipse.emf.cdo.examples.hibernate.server" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.examples.installer" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.examples.master" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.examples.server" version="4.0.400"/>
+ <plugin name="org.eclipse.emf.cdo.explorer" version="4.5.100"/>
+ <plugin name="org.eclipse.emf.cdo.explorer.ui" version="4.4.200"/>
+ <plugin name="org.eclipse.emf.cdo.expressions" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.expressions.edit" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.expressions.editor" version="4.3.300"/>
+ <plugin name="org.eclipse.emf.cdo.migrator" version="3.0.700"/>
+ <plugin name="org.eclipse.emf.cdo.net4j" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.releng" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.releng.help" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.releng.release" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.sdk" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.security" version="4.3.200"/>
+ <plugin name="org.eclipse.emf.cdo.security.edit" version="4.4.0"/>
+ <plugin name="org.eclipse.emf.cdo.security.editor" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.security.ui" version="4.3.300"/>
+ <plugin name="org.eclipse.emf.cdo.server" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.server.admin" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.server.db" version="4.5.0"/>
+ <plugin name="org.eclipse.emf.cdo.server.db4o" version="4.0.400"/>
+ <plugin name="org.eclipse.emf.cdo.server.embedded" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.server.hibernate" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.server.hibernate.teneo" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.server.lissome" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.server.mongodb" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.server.net4j" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.server.objectivity" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.server.objectivity.stub" version="4.3.0"/>
+ <plugin name="org.eclipse.emf.cdo.server.ocl" version="4.2.200"/>
+ <plugin name="org.eclipse.emf.cdo.server.product" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.server.security" version="4.3.300"/>
+ <plugin name="org.eclipse.emf.cdo.tests" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.all" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.tests.db" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.db4o" version="4.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.hibernate" version="4.1.500"/>
+ <plugin name="org.eclipse.emf.cdo.tests.lissome" version="4.2.200"/>
+ <plugin name="org.eclipse.emf.cdo.tests.mango" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model1" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model2" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model3" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model4" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model4interfaces" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model5" version="3.0.600"/>
+ <plugin name="org.eclipse.emf.cdo.tests.model6" version="4.0.400"/>
+ <plugin name="org.eclipse.emf.cdo.tests.mongodb" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.tests.objectivity" version="4.0.500"/>
+ <plugin name="org.eclipse.emf.cdo.tests.uml" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.transfer" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.repository" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.ui" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.workspace" version="4.2.300"/>
+ <plugin name="org.eclipse.emf.cdo.transfer.workspace.ui" version="4.2.200"/>
+ <plugin name="org.eclipse.emf.cdo.ui" version="4.6.0"/>
+ <plugin name="org.eclipse.emf.cdo.ui.admin" version="4.1.400"/>
+ <plugin name="org.eclipse.emf.cdo.ui.compare" version="4.4.100"/>
+ <plugin name="org.eclipse.emf.cdo.ui.shared" version="4.3.0"/>
+ <plugin name="org.eclipse.emf.cdo.ui.team" version="4.2.400"/>
+ <plugin name="org.eclipse.emf.cdo.workspace" version="4.2.200"/>
+ <plugin name="org.eclipse.net4j" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j.buddies" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.buddies.chat" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.buddies.chat.ui" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.buddies.common" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.buddies.server" version="4.0.600"/>
+ <plugin name="org.eclipse.net4j.buddies.ui" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.db" version="4.6.0"/>
+ <plugin name="org.eclipse.net4j.db.derby" version="4.1.400"/>
+ <plugin name="org.eclipse.net4j.db.doc" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.db.h2" version="4.3.0"/>
+ <plugin name="org.eclipse.net4j.db.hsqldb" version="4.2.300"/>
+ <plugin name="org.eclipse.net4j.db.jdbc" version="4.3.200"/>
+ <plugin name="org.eclipse.net4j.db.mysql" version="4.2.400"/>
+ <plugin name="org.eclipse.net4j.db.oracle" version="1.1.300"/>
+ <plugin name="org.eclipse.net4j.db.postgresql" version="4.2.400"/>
+ <plugin name="org.eclipse.net4j.db.tests" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.debug" version="3.0.500"/>
+ <plugin name="org.eclipse.net4j.doc" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.examples" version="4.0.600"/>
+ <plugin name="org.eclipse.net4j.examples.installer" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.http" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.http.common" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.http.server" version="4.0.600"/>
+ <plugin name="org.eclipse.net4j.http.tests" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.jms" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.jms.admin" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.jms.api" version="3.1.300"/>
+ <plugin name="org.eclipse.net4j.jms.server" version="4.0.500"/>
+ <plugin name="org.eclipse.net4j.jms.server.jdbc" version="4.0.400"/>
+ <plugin name="org.eclipse.net4j.jms.tests" version="4.0.300"/>
+ <plugin name="org.eclipse.net4j.jvm" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.sdk" version="4.1.400"/>
+ <plugin name="org.eclipse.net4j.tcp" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.tests" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.ui" version="4.2.400"/>
+ <plugin name="org.eclipse.net4j.ui.shared" version="4.3.100"/>
+ <plugin name="org.eclipse.net4j.util" version="3.7.0"/>
+ <plugin name="org.eclipse.net4j.util.doc" version="4.1.500"/>
+ <plugin name="org.eclipse.net4j.util.ui" version="3.6.100"/>
+ <plugin name="org.eclipse.orbit.mongodb" version="2.10.1"/>
+ <plugin name="org.gastro.business" version="4.0.500"/>
+ <plugin name="org.gastro.business.edit" version="4.0.500"/>
+ <plugin name="org.gastro.inventory" version="4.0.500"/>
+ <plugin name="org.gastro.inventory.edit" version="4.0.500"/>
+ <plugin name="org.gastro.rcp" version="4.1.400"/>
+ <plugin name="org.gastro.rcp.department" version="4.0.500"/>
+ <plugin name="org.gastro.rcp.table" version="4.0.400"/>
+ <plugin name="org.gastro.server" version="4.0.400"/>
+ <plugin name="org.gastro.server.web" version="4.1.300"/>
+ <plugin name="org.gastro.testclient" version="4.0.300"/>
+ <plugin name="org.h2" version="1.3.168"/>
+ <plugin name="org.h2.source" version="0.0.0"/> <!-- UNRESOLVED -->
+</release>
diff --git a/releng/org.eclipse.emf.cdo.releng/xsl/bom2bookmarks.xsl b/releng/org.eclipse.emf.cdo.releng/xsl/bom2bookmarks.xsl
new file mode 100644
index 0000000000..eff2705097
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/xsl/bom2bookmarks.xsl
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:md="http://www.eclipse.org/buckminster/MetaData-1.0" exclude-result-prefixes="md">
+ <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates select="//md:resolution"/>
+ </xsl:template>
+
+ <xsl:template match="md:resolution">
+ <site>
+ <xsl:attribute name="url">
+ <xsl:value-of select="@repository"/>
+ </xsl:attribute>
+ <xsl:attribute name="selected">true</xsl:attribute>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@repository"/>
+ </xsl:attribute>
+ </site>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/releng/org.eclipse.emf.cdo.releng/xsl/content2html.xsl b/releng/org.eclipse.emf.cdo.releng/xsl/content2html.xsl
new file mode 100644
index 0000000000..9d142353d2
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/xsl/content2html.xsl
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="html" omit-xml-declaration="yes" indent="yes"/>
+ <xsl:strip-space elements="*"/>
+
+ <xsl:template match="/">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <xsl:apply-templates select="repository"/>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="repository">
+ <head>
+ <title>
+ <xsl:value-of select="@name"/>
+ </title>
+ </head>
+ <body>
+ <h1>
+ <xsl:value-of select="@name"/>
+ </h1>
+ <p>
+ <em>For information about CDO or Net4j, see their
+ <a href="http://www.eclipse.org/cdo">homepage</a> or
+ <a href="http://wiki.eclipse.org/CDO">wiki</a>.
+ <br/> For information about installing or updating Eclipse software, see the
+ <a
+ href="http://help.eclipse.org/juno/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">
+ Eclipse Platform Help</a>.
+ <br/> Some plugins require third party software from p2 repositories listed in this
+ <a href="bookmarks.xml">bookmarks.xml</a> file.</em>
+
+ </p>
+ <table border="0">
+ <tr>
+ <td colspan="2">
+ <hr/>
+ <h2>Features</h2>
+ </td>
+ </tr>
+ <xsl:apply-templates select="//provided[@namespace='org.eclipse.update.feature']">
+ <xsl:sort select="@name"/>
+ </xsl:apply-templates>
+ <tr>
+ <td colspan="2">
+ <hr/>
+ <h2>Plugins</h2>
+ </td>
+ </tr>
+ <xsl:apply-templates select="//provided[@namespace='osgi.bundle']">
+ <xsl:sort select="@name"/>
+ </xsl:apply-templates>
+ </table>
+ </body>
+ </xsl:template>
+
+ <xsl:template match="provided">
+ <tr>
+ <td>
+ <xsl:value-of select="@name"/>
+ </td>
+ <td>
+ <xsl:value-of select="@version"/>
+ </td>
+ </tr>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/releng/org.eclipse.emf.cdo.releng/xsl/content2xml.xsl b/releng/org.eclipse.emf.cdo.releng/xsl/content2xml.xsl
new file mode 100644
index 0000000000..40ba607dff
--- /dev/null
+++ b/releng/org.eclipse.emf.cdo.releng/xsl/content2xml.xsl
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="xml" indent="yes"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates select="repository"/>
+ </xsl:template>
+
+ <xsl:template match="repository">
+ <release tag="" integration="true">
+ <xsl:attribute name="repository">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="//provided[@namespace='org.eclipse.update.feature']">
+ <xsl:sort select="@name"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="//provided[@namespace='osgi.bundle']">
+ <xsl:sort select="@name"/>
+ </xsl:apply-templates>
+ </release>
+ </xsl:template>
+
+ <xsl:template match="provided">
+ <element>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:attribute>
+ <xsl:attribute name="version">
+ <xsl:value-of select="@version"/>
+ </xsl:attribute>
+ <xsl:attribute name="type">
+ <xsl:value-of select="@namespace"/>
+ </xsl:attribute>
+ </element>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file

Back to the top