diff options
author | Eike Stepper | 2022-05-15 07:17:30 +0000 |
---|---|---|
committer | Eike Stepper | 2022-05-15 07:17:30 +0000 |
commit | eed5476b2067138a2130fe562c23840561e73384 (patch) | |
tree | 6291dd12898b85c8cc8d90bd5ba197e5ebe77acd /plugins | |
parent | 3ffb12fc2d50970d5aeda377d0b010307687d389 (diff) | |
download | cdo-eed5476b2067138a2130fe562c23840561e73384.tar.gz cdo-eed5476b2067138a2130fe562c23840561e73384.tar.xz cdo-eed5476b2067138a2130fe562c23840561e73384.zip |
[579863] [LM] Implement a lifecycle management framework to support modular modeling
https://bugs.eclipse.org/bugs/show_bug.cgi?id=579863
Added tests.
Diffstat (limited to 'plugins')
22 files changed, 2307 insertions, 30 deletions
diff --git a/plugins/org.eclipse.emf.cdo.lm.client/src/org/eclipse/emf/cdo/lm/internal/client/SystemDescriptor.java b/plugins/org.eclipse.emf.cdo.lm.client/src/org/eclipse/emf/cdo/lm/internal/client/SystemDescriptor.java index f44f2a2a01..baf8fd9fb2 100644 --- a/plugins/org.eclipse.emf.cdo.lm.client/src/org/eclipse/emf/cdo/lm/internal/client/SystemDescriptor.java +++ b/plugins/org.eclipse.emf.cdo.lm.client/src/org/eclipse/emf/cdo/lm/internal/client/SystemDescriptor.java @@ -655,36 +655,6 @@ public final class SystemDescriptor implements ISystemDescriptor return assembly; } - private Assembly tryDeprecatedResolution(ResolutionException ex, ModuleDefinition rootDefinition, Baseline rootBaseline, IProgressMonitor monitor) - throws ResolutionException - { - List<String> missingModules = new ArrayList<>(); - - for (Reason reason : ex.getReasons()) - { - if (reason instanceof Reason.Missing) - { - Reason.Missing missing = (Reason.Missing)reason; - missingModules.add(missing.dependency.name); - } - } - - ModuleDefinition newDefinition = EcoreUtil.copy(rootDefinition); - List<DependencyDefinition> depToRemove = new ArrayList<>(); - for (DependencyDefinition dep : newDefinition.getDependencies()) - { - if (missingModules.contains(dep.getTargetName())) - { - depToRemove.add(dep); - } - } - - newDefinition.getDependencies().removeAll(depToRemove); - OM.LOG.warn(ex); - OM.LOG.warn("Trying to resolve without missing dependencies. You should consider updating module.md"); - return resolve(newDefinition, rootBaseline, monitor); - } - private void resolveDependencies(ModuleDefinition rootDefinition, Assembly assembly, IProgressMonitor monitor) throws ResolutionException, ProvisionException { List<FixedBaseline> baselines = new ArrayList<>(); diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/.classpath b/plugins/org.eclipse.emf.cdo.tests.lm/.classpath new file mode 100644 index 0000000000..a42a828e04 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.classpath @@ -0,0 +1,11 @@ +<?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/JavaSE-11"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"> + <attributes> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/.project b/plugins/org.eclipse.emf.cdo.tests.lm/.project new file mode 100644 index 0000000000..0fe43a639b --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.project @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.emf.cdo.tests.lm</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>check.maven.pom</key> + <value>true</value> + </dictionary> + <dictionary> + <key>ignore.lower.bound.dependency.ranges</key> + <value>true</value> + </dictionary> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/versions/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</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/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..99f26c0203 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..62ff74e8a6 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,434 @@ +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.inheritNullAnnotations=disabled +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.nonnull.secondary= +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullable.secondary= +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +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.enablePreviewFeatures=disabled +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.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning +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.pessimisticNullAnalysisForFreeTypeVariables=warning +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.reportPreviewFeatures=warning +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.syntacticNullAnalysisForFields=disabled +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=ignore +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.unusedExceptionParameter=ignore +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.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +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_additive_operator=16 +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_bitwise_operator=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_logical_operator=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_multiplicative_operator=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_string_concatenation=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_additive_operator=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_bitwise_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_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=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_relational_operator=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_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=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_bitwise_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_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=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_relational_operator=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_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=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_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..e9ed36ce21 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,133 @@ +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_functional_interfaces=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.insert_inferred_type_arguments=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.push_down_negation=false +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_redundant_modifiers=false +cleanup.remove_redundant_semicolons=true +cleanup.remove_redundant_type_arguments=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_array_creation=true +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_anonymous_class_creation=false +cleanup.use_autoboxing=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_lambda=true +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.use_unboxing=false +cleanup_profile=_CDO +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) 2022 Eike Stepper (Loehne, 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.remove_redundant_semicolons=true +sp_cleanup.remove_redundant_type_arguments=true +sp_cleanup.remove_unnecessary_array_creation=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/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.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/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.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/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..97c11e6725 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.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/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.tests.lm/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..fe01bb701d --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/.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/plugins/org.eclipse.emf.cdo.tests.lm/LMIntegrationTest.launch b/plugins/org.eclipse.emf.cdo.tests.lm/LMIntegrationTest.launch new file mode 100644 index 0000000000..ad18284ea4 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/LMIntegrationTest.launch @@ -0,0 +1,252 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig"> + <booleanAttribute key="append.args" value="true"/> + <stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/> + <booleanAttribute key="askclear" value="false"/> + <booleanAttribute key="automaticAdd" value="false"/> + <booleanAttribute key="automaticValidate" value="true"/> + <stringAttribute key="bootstrap" value=""/> + <stringAttribute key="checked" value="[NONE]"/> + <booleanAttribute key="clearConfig" value="true"/> + <booleanAttribute key="clearws" value="true"/> + <booleanAttribute key="clearwslog" value="false"/> + <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/> + <booleanAttribute key="default" value="false"/> + <setAttribute key="deselected_workspace_bundles"/> + <booleanAttribute key="includeOptional" value="true"/> + <stringAttribute key="location" value="${workspace_loc}/../ws-LMIntegrationTest"/> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> + <listEntry value="/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMIntegrationTest.java"/> + </listAttribute> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> + <listEntry value="1"/> + </listAttribute> + <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/> + <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/> + <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/> + <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit5"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> + <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/> + <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.cdo.tests.lm.LMIntegrationTest"/> + <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/> + <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.tests.lm"/> + <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> + <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dorg.eclipse.emf.cdo.internal.server.Repository.DISABLE_FEATURE_MAP_CHECKS=true"/> + <stringAttribute key="pde.version" value="3.3"/> + <stringAttribute key="product" value="org.eclipse.platform.ide"/> + <booleanAttribute key="run_in_ui_thread" value="false"/> + <setAttribute key="selected_target_bundles"> + <setEntry value="com.ibm.icu@default:default"/> + <setEntry value="com.sun.jna.platform@default:default"/> + <setEntry value="com.sun.jna@default:default"/> + <setEntry value="jakarta.servlet-api@default:default"/> + <setEntry value="javax.annotation@default:default"/> + <setEntry value="javax.inject@default:default"/> + <setEntry value="org.apache.batik.constants@default:default"/> + <setEntry value="org.apache.batik.css@default:default"/> + <setEntry value="org.apache.batik.i18n@default:default"/> + <setEntry value="org.apache.batik.util@default:default"/> + <setEntry value="org.apache.commons.io@default:default"/> + <setEntry value="org.apache.commons.jxpath@default:default"/> + <setEntry value="org.apache.commons.logging@default:default"/> + <setEntry value="org.apache.felix.gogo.command@default:default"/> + <setEntry value="org.apache.felix.gogo.runtime@default:default"/> + <setEntry value="org.apache.felix.gogo.shell@default:default"/> + <setEntry value="org.apache.felix.scr@1:true"/> + <setEntry value="org.apache.log4j@default:default"/> + <setEntry value="org.apache.xmlgraphics@default:default"/> + <setEntry value="org.apiguardian@default:default"/> + <setEntry value="org.bouncycastle.bcpg@default:default"/> + <setEntry value="org.bouncycastle.bcprov@default:default"/> + <setEntry value="org.eclipse.ant.core@default:default"/> + <setEntry value="org.eclipse.compare.core@default:default"/> + <setEntry value="org.eclipse.compare@default:default"/> + <setEntry value="org.eclipse.core.commands@default:default"/> + <setEntry value="org.eclipse.core.contenttype@default:default"/> + <setEntry value="org.eclipse.core.databinding.observable@default:default"/> + <setEntry value="org.eclipse.core.databinding.property@default:default"/> + <setEntry value="org.eclipse.core.databinding@default:default"/> + <setEntry value="org.eclipse.core.expressions@default:default"/> + <setEntry value="org.eclipse.core.filebuffers@default:default"/> + <setEntry value="org.eclipse.core.filesystem.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.core.filesystem@default:default"/> + <setEntry value="org.eclipse.core.jobs@default:default"/> + <setEntry value="org.eclipse.core.resources.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.core.resources@default:default"/> + <setEntry value="org.eclipse.core.runtime@default:true"/> + <setEntry value="org.eclipse.core.variables@default:default"/> + <setEntry value="org.eclipse.debug.core@default:default"/> + <setEntry value="org.eclipse.debug.ui@default:default"/> + <setEntry value="org.eclipse.e4.core.commands@default:default"/> + <setEntry value="org.eclipse.e4.core.contexts@default:default"/> + <setEntry value="org.eclipse.e4.core.di.annotations@default:default"/> + <setEntry value="org.eclipse.e4.core.di.extensions.supplier@default:default"/> + <setEntry value="org.eclipse.e4.core.di.extensions@default:default"/> + <setEntry value="org.eclipse.e4.core.di@default:default"/> + <setEntry value="org.eclipse.e4.core.services@default:default"/> + <setEntry value="org.eclipse.e4.emf.xpath@default:default"/> + <setEntry value="org.eclipse.e4.ui.bindings@default:default"/> + <setEntry value="org.eclipse.e4.ui.css.core@default:default"/> + <setEntry value="org.eclipse.e4.ui.css.swt.theme@default:default"/> + <setEntry value="org.eclipse.e4.ui.css.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.di@default:default"/> + <setEntry value="org.eclipse.e4.ui.dialogs@default:default"/> + <setEntry value="org.eclipse.e4.ui.ide@default:default"/> + <setEntry value="org.eclipse.e4.ui.model.workbench@default:default"/> + <setEntry value="org.eclipse.e4.ui.services@default:default"/> + <setEntry value="org.eclipse.e4.ui.swt.win32@default:false"/> + <setEntry value="org.eclipse.e4.ui.widgets@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench.addons.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench.renderers.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench3@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench@default:default"/> + <setEntry value="org.eclipse.emf.common@default:default"/> + <setEntry value="org.eclipse.emf.ecore.change@default:default"/> + <setEntry value="org.eclipse.emf.ecore.xmi@default:default"/> + <setEntry value="org.eclipse.emf.ecore@default:default"/> + <setEntry value="org.eclipse.equinox.app@default:default"/> + <setEntry value="org.eclipse.equinox.bidi@default:default"/> + <setEntry value="org.eclipse.equinox.common@2:true"/> + <setEntry value="org.eclipse.equinox.event@default:default"/> + <setEntry value="org.eclipse.equinox.p2.artifact.repository@default:default"/> + <setEntry value="org.eclipse.equinox.p2.core@default:default"/> + <setEntry value="org.eclipse.equinox.p2.director@default:default"/> + <setEntry value="org.eclipse.equinox.p2.engine@default:default"/> + <setEntry value="org.eclipse.equinox.p2.jarprocessor@default:default"/> + <setEntry value="org.eclipse.equinox.p2.metadata.repository@default:default"/> + <setEntry value="org.eclipse.equinox.p2.metadata@default:default"/> + <setEntry value="org.eclipse.equinox.p2.repository@default:default"/> + <setEntry value="org.eclipse.equinox.preferences@default:default"/> + <setEntry value="org.eclipse.equinox.registry@default:default"/> + <setEntry value="org.eclipse.equinox.security.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.equinox.security@default:default"/> + <setEntry value="org.eclipse.equinox.simpleconfigurator@1:true"/> + <setEntry value="org.eclipse.equinox.weaving.hook@default:false"/> + <setEntry value="org.eclipse.help@default:default"/> + <setEntry value="org.eclipse.jdt.annotation*2.2.600.v20200408-1511@default:default"/> + <setEntry value="org.eclipse.jdt.compiler.apt@default:false"/> + <setEntry value="org.eclipse.jdt.compiler.tool@default:false"/> + <setEntry value="org.eclipse.jdt.core.manipulation@default:default"/> + <setEntry value="org.eclipse.jdt.core@default:default"/> + <setEntry value="org.eclipse.jdt.debug.ui@default:default"/> + <setEntry value="org.eclipse.jdt.debug@default:default"/> + <setEntry value="org.eclipse.jdt.junit.runtime@default:default"/> + <setEntry value="org.eclipse.jdt.junit5.runtime@default:default"/> + <setEntry value="org.eclipse.jdt.launching@default:default"/> + <setEntry value="org.eclipse.jdt.ui@default:default"/> + <setEntry value="org.eclipse.jetty.alpn.client@default:default"/> + <setEntry value="org.eclipse.jetty.client@default:default"/> + <setEntry value="org.eclipse.jetty.http@default:default"/> + <setEntry value="org.eclipse.jetty.io@default:default"/> + <setEntry value="org.eclipse.jetty.security@default:default"/> + <setEntry value="org.eclipse.jetty.server@default:default"/> + <setEntry value="org.eclipse.jetty.servlet@default:default"/> + <setEntry value="org.eclipse.jetty.util.ajax@default:default"/> + <setEntry value="org.eclipse.jetty.util@default:default"/> + <setEntry value="org.eclipse.jetty.webapp@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.api@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.client@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.common@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.core.client@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.core.common@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.core.server@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.server@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.servlet@default:default"/> + <setEntry value="org.eclipse.jetty.xml@default:default"/> + <setEntry value="org.eclipse.jface.databinding@default:default"/> + <setEntry value="org.eclipse.jface.text@default:default"/> + <setEntry value="org.eclipse.jface@default:default"/> + <setEntry value="org.eclipse.ltk.core.refactoring@default:default"/> + <setEntry value="org.eclipse.ltk.ui.refactoring@default:default"/> + <setEntry value="org.eclipse.osgi.compatibility.state@default:false"/> + <setEntry value="org.eclipse.osgi.services@default:default"/> + <setEntry value="org.eclipse.osgi.util@default:default"/> + <setEntry value="org.eclipse.osgi@1:true"/> + <setEntry value="org.eclipse.pde.junit.runtime@default:default"/> + <setEntry value="org.eclipse.rap.tools.launch.rwt@default:default"/> + <setEntry value="org.eclipse.search@default:default"/> + <setEntry value="org.eclipse.swt.win32.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.swt@default:default"/> + <setEntry value="org.eclipse.team.core@default:default"/> + <setEntry value="org.eclipse.team.ui@default:default"/> + <setEntry value="org.eclipse.text@default:default"/> + <setEntry value="org.eclipse.ui.console@default:default"/> + <setEntry value="org.eclipse.ui.editors@default:default"/> + <setEntry value="org.eclipse.ui.forms@default:default"/> + <setEntry value="org.eclipse.ui.genericeditor@default:default"/> + <setEntry value="org.eclipse.ui.ide@default:default"/> + <setEntry value="org.eclipse.ui.navigator.resources@default:default"/> + <setEntry value="org.eclipse.ui.navigator@default:default"/> + <setEntry value="org.eclipse.ui.views.properties.tabbed@default:default"/> + <setEntry value="org.eclipse.ui.views@default:default"/> + <setEntry value="org.eclipse.ui.win32@default:false"/> + <setEntry value="org.eclipse.ui.workbench.texteditor@default:default"/> + <setEntry value="org.eclipse.ui.workbench@default:default"/> + <setEntry value="org.eclipse.ui@default:default"/> + <setEntry value="org.eclipse.urischeme@default:default"/> + <setEntry value="org.h2@default:default"/> + <setEntry value="org.hamcrest.core@default:default"/> + <setEntry value="org.junit.jupiter.api@default:default"/> + <setEntry value="org.junit.jupiter.engine@default:default"/> + <setEntry value="org.junit.jupiter.migrationsupport@default:default"/> + <setEntry value="org.junit.jupiter.params@default:default"/> + <setEntry value="org.junit.platform.commons@default:default"/> + <setEntry value="org.junit.platform.engine@default:default"/> + <setEntry value="org.junit.platform.launcher@default:default"/> + <setEntry value="org.junit.platform.runner@default:default"/> + <setEntry value="org.junit.platform.suite.api@default:default"/> + <setEntry value="org.junit.platform.suite.commons@default:default"/> + <setEntry value="org.junit.platform.suite.engine@default:default"/> + <setEntry value="org.junit.vintage.engine@default:default"/> + <setEntry value="org.junit@default:default"/> + <setEntry value="org.opentest4j@default:default"/> + <setEntry value="org.sat4j.core@default:default"/> + <setEntry value="org.sat4j.pb@default:default"/> + <setEntry value="org.slf4j.api@default:default"/> + <setEntry value="org.tukaani.xz@default:default"/> + <setEntry value="org.w3c.css.sac@default:default"/> + <setEntry value="org.w3c.dom.events@default:default"/> + <setEntry value="org.w3c.dom.smil@default:default"/> + <setEntry value="org.w3c.dom.svg@default:default"/> + </setAttribute> + <setAttribute key="selected_workspace_bundles"> + <setEntry value="org.eclipse.emf.cdo.common@default:default"/> + <setEntry value="org.eclipse.emf.cdo.explorer@default:default"/> + <setEntry value="org.eclipse.emf.cdo.expressions@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.assembly@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.client@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.modules@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.server@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm@default:default"/> + <setEntry value="org.eclipse.emf.cdo.net4j@default:default"/> + <setEntry value="org.eclipse.emf.cdo.security@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.db@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.embedded@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.net4j@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.security@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server@default:default"/> + <setEntry value="org.eclipse.emf.cdo.tests.lm@default:default"/> + <setEntry value="org.eclipse.emf.cdo.workspace@default:default"/> + <setEntry value="org.eclipse.emf.cdo@default:default"/> + <setEntry value="org.eclipse.net4j.db.h2@default:default"/> + <setEntry value="org.eclipse.net4j.db.jdbc@default:default"/> + <setEntry value="org.eclipse.net4j.db@default:default"/> + <setEntry value="org.eclipse.net4j.jms.api@default:default"/> + <setEntry value="org.eclipse.net4j.jvm@default:default"/> + <setEntry value="org.eclipse.net4j.tcp@default:default"/> + <setEntry value="org.eclipse.net4j.tests@default:default"/> + <setEntry value="org.eclipse.net4j.util@default:default"/> + <setEntry value="org.eclipse.net4j.ws@default:default"/> + <setEntry value="org.eclipse.net4j@default:default"/> + </setAttribute> + <booleanAttribute key="show_selected_only" value="false"/> + <stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> + <booleanAttribute key="tracing" value="false"/> + <booleanAttribute key="useCustomFeatures" value="false"/> + <booleanAttribute key="useDefaultConfig" value="true"/> + <booleanAttribute key="useDefaultConfigArea" value="false"/> + <booleanAttribute key="useProduct" value="false"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/LMVersionEvolutionTest.launch b/plugins/org.eclipse.emf.cdo.tests.lm/LMVersionEvolutionTest.launch new file mode 100644 index 0000000000..c507bd3fb2 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/LMVersionEvolutionTest.launch @@ -0,0 +1,252 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig"> + <booleanAttribute key="append.args" value="true"/> + <stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/> + <booleanAttribute key="askclear" value="false"/> + <booleanAttribute key="automaticAdd" value="false"/> + <booleanAttribute key="automaticValidate" value="true"/> + <stringAttribute key="bootstrap" value=""/> + <stringAttribute key="checked" value="[NONE]"/> + <booleanAttribute key="clearConfig" value="true"/> + <booleanAttribute key="clearws" value="true"/> + <booleanAttribute key="clearwslog" value="false"/> + <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/> + <booleanAttribute key="default" value="false"/> + <setAttribute key="deselected_workspace_bundles"/> + <booleanAttribute key="includeOptional" value="true"/> + <stringAttribute key="location" value="${workspace_loc}/../ws-LMIntegrationTest"/> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> + <listEntry value="/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMVersionEvolutionTest.java"/> + </listAttribute> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> + <listEntry value="1"/> + </listAttribute> + <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/> + <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/> + <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/> + <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit5"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/> + <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/> + <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.cdo.tests.lm.LMVersionEvolutionTest"/> + <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/> + <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.tests.lm"/> + <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> + <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Dorg.eclipse.emf.cdo.internal.server.Repository.DISABLE_FEATURE_MAP_CHECKS=true"/> + <stringAttribute key="pde.version" value="3.3"/> + <stringAttribute key="product" value="org.eclipse.platform.ide"/> + <booleanAttribute key="run_in_ui_thread" value="false"/> + <setAttribute key="selected_target_bundles"> + <setEntry value="com.ibm.icu@default:default"/> + <setEntry value="com.sun.jna.platform@default:default"/> + <setEntry value="com.sun.jna@default:default"/> + <setEntry value="jakarta.servlet-api@default:default"/> + <setEntry value="javax.annotation@default:default"/> + <setEntry value="javax.inject@default:default"/> + <setEntry value="org.apache.batik.constants@default:default"/> + <setEntry value="org.apache.batik.css@default:default"/> + <setEntry value="org.apache.batik.i18n@default:default"/> + <setEntry value="org.apache.batik.util@default:default"/> + <setEntry value="org.apache.commons.io@default:default"/> + <setEntry value="org.apache.commons.jxpath@default:default"/> + <setEntry value="org.apache.commons.logging@default:default"/> + <setEntry value="org.apache.felix.gogo.command@default:default"/> + <setEntry value="org.apache.felix.gogo.runtime@default:default"/> + <setEntry value="org.apache.felix.gogo.shell@default:default"/> + <setEntry value="org.apache.felix.scr@1:true"/> + <setEntry value="org.apache.log4j@default:default"/> + <setEntry value="org.apache.xmlgraphics@default:default"/> + <setEntry value="org.apiguardian@default:default"/> + <setEntry value="org.bouncycastle.bcpg@default:default"/> + <setEntry value="org.bouncycastle.bcprov@default:default"/> + <setEntry value="org.eclipse.ant.core@default:default"/> + <setEntry value="org.eclipse.compare.core@default:default"/> + <setEntry value="org.eclipse.compare@default:default"/> + <setEntry value="org.eclipse.core.commands@default:default"/> + <setEntry value="org.eclipse.core.contenttype@default:default"/> + <setEntry value="org.eclipse.core.databinding.observable@default:default"/> + <setEntry value="org.eclipse.core.databinding.property@default:default"/> + <setEntry value="org.eclipse.core.databinding@default:default"/> + <setEntry value="org.eclipse.core.expressions@default:default"/> + <setEntry value="org.eclipse.core.filebuffers@default:default"/> + <setEntry value="org.eclipse.core.filesystem.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.core.filesystem@default:default"/> + <setEntry value="org.eclipse.core.jobs@default:default"/> + <setEntry value="org.eclipse.core.resources.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.core.resources@default:default"/> + <setEntry value="org.eclipse.core.runtime@default:true"/> + <setEntry value="org.eclipse.core.variables@default:default"/> + <setEntry value="org.eclipse.debug.core@default:default"/> + <setEntry value="org.eclipse.debug.ui@default:default"/> + <setEntry value="org.eclipse.e4.core.commands@default:default"/> + <setEntry value="org.eclipse.e4.core.contexts@default:default"/> + <setEntry value="org.eclipse.e4.core.di.annotations@default:default"/> + <setEntry value="org.eclipse.e4.core.di.extensions.supplier@default:default"/> + <setEntry value="org.eclipse.e4.core.di.extensions@default:default"/> + <setEntry value="org.eclipse.e4.core.di@default:default"/> + <setEntry value="org.eclipse.e4.core.services@default:default"/> + <setEntry value="org.eclipse.e4.emf.xpath@default:default"/> + <setEntry value="org.eclipse.e4.ui.bindings@default:default"/> + <setEntry value="org.eclipse.e4.ui.css.core@default:default"/> + <setEntry value="org.eclipse.e4.ui.css.swt.theme@default:default"/> + <setEntry value="org.eclipse.e4.ui.css.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.di@default:default"/> + <setEntry value="org.eclipse.e4.ui.dialogs@default:default"/> + <setEntry value="org.eclipse.e4.ui.ide@default:default"/> + <setEntry value="org.eclipse.e4.ui.model.workbench@default:default"/> + <setEntry value="org.eclipse.e4.ui.services@default:default"/> + <setEntry value="org.eclipse.e4.ui.swt.win32@default:false"/> + <setEntry value="org.eclipse.e4.ui.widgets@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench.addons.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench.renderers.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench.swt@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench3@default:default"/> + <setEntry value="org.eclipse.e4.ui.workbench@default:default"/> + <setEntry value="org.eclipse.emf.common@default:default"/> + <setEntry value="org.eclipse.emf.ecore.change@default:default"/> + <setEntry value="org.eclipse.emf.ecore.xmi@default:default"/> + <setEntry value="org.eclipse.emf.ecore@default:default"/> + <setEntry value="org.eclipse.equinox.app@default:default"/> + <setEntry value="org.eclipse.equinox.bidi@default:default"/> + <setEntry value="org.eclipse.equinox.common@2:true"/> + <setEntry value="org.eclipse.equinox.event@default:default"/> + <setEntry value="org.eclipse.equinox.p2.artifact.repository@default:default"/> + <setEntry value="org.eclipse.equinox.p2.core@default:default"/> + <setEntry value="org.eclipse.equinox.p2.director@default:default"/> + <setEntry value="org.eclipse.equinox.p2.engine@default:default"/> + <setEntry value="org.eclipse.equinox.p2.jarprocessor@default:default"/> + <setEntry value="org.eclipse.equinox.p2.metadata.repository@default:default"/> + <setEntry value="org.eclipse.equinox.p2.metadata@default:default"/> + <setEntry value="org.eclipse.equinox.p2.repository@default:default"/> + <setEntry value="org.eclipse.equinox.preferences@default:default"/> + <setEntry value="org.eclipse.equinox.registry@default:default"/> + <setEntry value="org.eclipse.equinox.security.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.equinox.security@default:default"/> + <setEntry value="org.eclipse.equinox.simpleconfigurator@1:true"/> + <setEntry value="org.eclipse.equinox.weaving.hook@default:false"/> + <setEntry value="org.eclipse.help@default:default"/> + <setEntry value="org.eclipse.jdt.annotation*2.2.600.v20200408-1511@default:default"/> + <setEntry value="org.eclipse.jdt.compiler.apt@default:false"/> + <setEntry value="org.eclipse.jdt.compiler.tool@default:false"/> + <setEntry value="org.eclipse.jdt.core.manipulation@default:default"/> + <setEntry value="org.eclipse.jdt.core@default:default"/> + <setEntry value="org.eclipse.jdt.debug.ui@default:default"/> + <setEntry value="org.eclipse.jdt.debug@default:default"/> + <setEntry value="org.eclipse.jdt.junit.runtime@default:default"/> + <setEntry value="org.eclipse.jdt.junit5.runtime@default:default"/> + <setEntry value="org.eclipse.jdt.launching@default:default"/> + <setEntry value="org.eclipse.jdt.ui@default:default"/> + <setEntry value="org.eclipse.jetty.alpn.client@default:default"/> + <setEntry value="org.eclipse.jetty.client@default:default"/> + <setEntry value="org.eclipse.jetty.http@default:default"/> + <setEntry value="org.eclipse.jetty.io@default:default"/> + <setEntry value="org.eclipse.jetty.security@default:default"/> + <setEntry value="org.eclipse.jetty.server@default:default"/> + <setEntry value="org.eclipse.jetty.servlet@default:default"/> + <setEntry value="org.eclipse.jetty.util.ajax@default:default"/> + <setEntry value="org.eclipse.jetty.util@default:default"/> + <setEntry value="org.eclipse.jetty.webapp@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.api@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.client@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.common@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.core.client@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.core.common@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.core.server@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.server@default:default"/> + <setEntry value="org.eclipse.jetty.websocket.servlet@default:default"/> + <setEntry value="org.eclipse.jetty.xml@default:default"/> + <setEntry value="org.eclipse.jface.databinding@default:default"/> + <setEntry value="org.eclipse.jface.text@default:default"/> + <setEntry value="org.eclipse.jface@default:default"/> + <setEntry value="org.eclipse.ltk.core.refactoring@default:default"/> + <setEntry value="org.eclipse.ltk.ui.refactoring@default:default"/> + <setEntry value="org.eclipse.osgi.compatibility.state@default:false"/> + <setEntry value="org.eclipse.osgi.services@default:default"/> + <setEntry value="org.eclipse.osgi.util@default:default"/> + <setEntry value="org.eclipse.osgi@1:true"/> + <setEntry value="org.eclipse.pde.junit.runtime@default:default"/> + <setEntry value="org.eclipse.rap.tools.launch.rwt@default:default"/> + <setEntry value="org.eclipse.search@default:default"/> + <setEntry value="org.eclipse.swt.win32.win32.x86_64@default:false"/> + <setEntry value="org.eclipse.swt@default:default"/> + <setEntry value="org.eclipse.team.core@default:default"/> + <setEntry value="org.eclipse.team.ui@default:default"/> + <setEntry value="org.eclipse.text@default:default"/> + <setEntry value="org.eclipse.ui.console@default:default"/> + <setEntry value="org.eclipse.ui.editors@default:default"/> + <setEntry value="org.eclipse.ui.forms@default:default"/> + <setEntry value="org.eclipse.ui.genericeditor@default:default"/> + <setEntry value="org.eclipse.ui.ide@default:default"/> + <setEntry value="org.eclipse.ui.navigator.resources@default:default"/> + <setEntry value="org.eclipse.ui.navigator@default:default"/> + <setEntry value="org.eclipse.ui.views.properties.tabbed@default:default"/> + <setEntry value="org.eclipse.ui.views@default:default"/> + <setEntry value="org.eclipse.ui.win32@default:false"/> + <setEntry value="org.eclipse.ui.workbench.texteditor@default:default"/> + <setEntry value="org.eclipse.ui.workbench@default:default"/> + <setEntry value="org.eclipse.ui@default:default"/> + <setEntry value="org.eclipse.urischeme@default:default"/> + <setEntry value="org.h2@default:default"/> + <setEntry value="org.hamcrest.core@default:default"/> + <setEntry value="org.junit.jupiter.api@default:default"/> + <setEntry value="org.junit.jupiter.engine@default:default"/> + <setEntry value="org.junit.jupiter.migrationsupport@default:default"/> + <setEntry value="org.junit.jupiter.params@default:default"/> + <setEntry value="org.junit.platform.commons@default:default"/> + <setEntry value="org.junit.platform.engine@default:default"/> + <setEntry value="org.junit.platform.launcher@default:default"/> + <setEntry value="org.junit.platform.runner@default:default"/> + <setEntry value="org.junit.platform.suite.api@default:default"/> + <setEntry value="org.junit.platform.suite.commons@default:default"/> + <setEntry value="org.junit.platform.suite.engine@default:default"/> + <setEntry value="org.junit.vintage.engine@default:default"/> + <setEntry value="org.junit@default:default"/> + <setEntry value="org.opentest4j@default:default"/> + <setEntry value="org.sat4j.core@default:default"/> + <setEntry value="org.sat4j.pb@default:default"/> + <setEntry value="org.slf4j.api@default:default"/> + <setEntry value="org.tukaani.xz@default:default"/> + <setEntry value="org.w3c.css.sac@default:default"/> + <setEntry value="org.w3c.dom.events@default:default"/> + <setEntry value="org.w3c.dom.smil@default:default"/> + <setEntry value="org.w3c.dom.svg@default:default"/> + </setAttribute> + <setAttribute key="selected_workspace_bundles"> + <setEntry value="org.eclipse.emf.cdo.common@default:default"/> + <setEntry value="org.eclipse.emf.cdo.explorer@default:default"/> + <setEntry value="org.eclipse.emf.cdo.expressions@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.assembly@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.client@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.modules@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm.server@default:default"/> + <setEntry value="org.eclipse.emf.cdo.lm@default:default"/> + <setEntry value="org.eclipse.emf.cdo.net4j@default:default"/> + <setEntry value="org.eclipse.emf.cdo.security@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.db@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.embedded@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.net4j@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server.security@default:default"/> + <setEntry value="org.eclipse.emf.cdo.server@default:default"/> + <setEntry value="org.eclipse.emf.cdo.tests.lm@default:default"/> + <setEntry value="org.eclipse.emf.cdo.workspace@default:default"/> + <setEntry value="org.eclipse.emf.cdo@default:default"/> + <setEntry value="org.eclipse.net4j.db.h2@default:default"/> + <setEntry value="org.eclipse.net4j.db.jdbc@default:default"/> + <setEntry value="org.eclipse.net4j.db@default:default"/> + <setEntry value="org.eclipse.net4j.jms.api@default:default"/> + <setEntry value="org.eclipse.net4j.jvm@default:default"/> + <setEntry value="org.eclipse.net4j.tcp@default:default"/> + <setEntry value="org.eclipse.net4j.tests@default:default"/> + <setEntry value="org.eclipse.net4j.util@default:default"/> + <setEntry value="org.eclipse.net4j.ws@default:default"/> + <setEntry value="org.eclipse.net4j@default:default"/> + </setAttribute> + <booleanAttribute key="show_selected_only" value="false"/> + <stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> + <booleanAttribute key="tracing" value="false"/> + <booleanAttribute key="useCustomFeatures" value="false"/> + <booleanAttribute key="useDefaultConfig" value="true"/> + <booleanAttribute key="useDefaultConfigArea" value="false"/> + <booleanAttribute key="useProduct" value="false"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.tests.lm/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..60793dad77 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/META-INF/MANIFEST.MF @@ -0,0 +1,23 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.emf.cdo.tests.lm;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.emf.cdo.tests.lm.bundle.OM$Activator +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Bundle-ClassPath: . +Require-Bundle: org.eclipse.net4j.tests;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.emf.cdo.explorer;bundle-version="[4.0.0,5.0.0)", + org.eclipse.emf.cdo.lm.client;bundle-version="[1.0.0,2.0.0)", + org.eclipse.emf.cdo.lm.server;bundle-version="[1.0.0,2.0.0)", + org.eclipse.emf.cdo.server.db;bundle-version="[4.0.0,5.0.0)", + org.eclipse.emf.cdo.server.net4j;bundle-version="[4.0.0,5.0.0)", + org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)", + org.h2;bundle-version="[1.0.0,2.0.0)", + org.junit.jupiter.api;bundle-version="[5.0.0,6.0.0)" +Automatic-Module-Name: org.eclipse.emf.cdo.tests.lm +Export-Package: org.eclipse.emf.cdo.tests.lm;version="1.0.0", + org.eclipse.emf.cdo.tests.lm.bundle;version="1.0.0";x-internal:=true diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/about.html b/plugins/org.eclipse.emf.cdo.tests.lm/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/build.properties b/plugins/org.eclipse.emf.cdo.tests.lm/build.properties new file mode 100644 index 0000000000..ef4b3b8d87 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/build.properties @@ -0,0 +1,21 @@ +# Copyright (c) 2022 Eike Stepper (Loehne, 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 + +source.. = src/ +output.. = bin/ + +src.includes = about.html,\ + pom.xml +bin.includes = .,\ + META-INF/,\ + plugin.properties,\ + about.html + +jars.compile.order = . +generateSourceReferences = true diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/plugin.properties b/plugins/org.eclipse.emf.cdo.tests.lm/plugin.properties new file mode 100644 index 0000000000..bf13d2e4cd --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2022 Eike Stepper (Loehne, 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 + +pluginName = CDO Model Repository Tests (Lifecycle Management) +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/pom.xml b/plugins/org.eclipse.emf.cdo.tests.lm/pom.xml new file mode 100644 index 0000000000..0e1647d899 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/pom.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2017-2022 Eike Stepper (Loehne, 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.plugins</artifactId> + <version>4.7.0-SNAPSHOT</version> + <relativePath>../../releng/org.eclipse.emf.cdo.releng.parent/plugins</relativePath> + </parent> + + <groupId>org.eclipse.emf.cdo</groupId> + <artifactId>org.eclipse.emf.cdo.tests.lm</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>eclipse-test-plugin</packaging> + +</project> diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/AbstractIntegrationTest.java b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/AbstractIntegrationTest.java new file mode 100644 index 0000000000..1ceb847df9 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/AbstractIntegrationTest.java @@ -0,0 +1,362 @@ +/* + * Copyright (c) 2022 Eike Stepper (Loehne, 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.tests.lm; + +import static org.hamcrest.CoreMatchers.instanceOf; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.notNullValue; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.jupiter.api.Assertions.fail; + +import org.eclipse.emf.cdo.common.branch.CDOBranch; +import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; +import org.eclipse.emf.cdo.common.branch.CDOBranchPointRef; +import org.eclipse.emf.cdo.eresource.CDOResource; +import org.eclipse.emf.cdo.explorer.checkouts.CDOCheckout; +import org.eclipse.emf.cdo.lm.Change; +import org.eclipse.emf.cdo.lm.Drop; +import org.eclipse.emf.cdo.lm.DropType; +import org.eclipse.emf.cdo.lm.Module; +import org.eclipse.emf.cdo.lm.Stream; +import org.eclipse.emf.cdo.lm.StreamMode; +import org.eclipse.emf.cdo.lm.StreamSpec; +import org.eclipse.emf.cdo.lm.System; +import org.eclipse.emf.cdo.lm.assembly.Assembly; +import org.eclipse.emf.cdo.lm.assembly.AssemblyModule; +import org.eclipse.emf.cdo.lm.client.IAssemblyDescriptor; +import org.eclipse.emf.cdo.lm.client.IAssemblyDescriptor.Updates; +import org.eclipse.emf.cdo.lm.client.IAssemblyManager; +import org.eclipse.emf.cdo.lm.client.ISystemDescriptor; +import org.eclipse.emf.cdo.lm.modules.DependencyDefinition; +import org.eclipse.emf.cdo.lm.modules.ModuleDefinition; +import org.eclipse.emf.cdo.lm.modules.ModulesFactory; +import org.eclipse.emf.cdo.lm.util.LMMerger; +import org.eclipse.emf.cdo.transaction.CDOTransaction; +import org.eclipse.emf.cdo.util.InvalidURIException; +import org.eclipse.emf.cdo.view.CDOView; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; + +import java.util.List; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +/** + * @author Eike Stepper + */ +public abstract class AbstractIntegrationTest extends AbstractLMTest +{ + protected Stream createStream(ISystemDescriptor systemDescriptor, Module module, Drop base, int major, int minor, String streamCodeName) throws Exception + { + Stream stream = systemDescriptor.createStream(module, base, new StreamSpec(major, minor, streamCodeName), monitor()); + + assertThat(stream.getModule(), is(module)); + assertThat(stream.getSystem(), is(systemDescriptor.getSystem())); + assertThat(stream.getMajorVersion(), is(major)); + assertThat(stream.getMinorVersion(), is(minor)); + assertThat(stream.getCodeName(), is(streamCodeName)); + assertThat(stream.getMode(), is(StreamMode.DEVELOPMENT)); + assertThat(stream.getBranchPoint(), is(CDOBranchPointRef.MAIN_HEAD)); + assertThat(stream, is(module.getStream(streamCodeName))); + + return stream; + } + + protected ModuleCreationResult createModule(ISystemDescriptor systemDescriptor, System system, String moduleName, String streamCodeName, int major, int minor) + throws Exception + { + Module module = systemDescriptor.createModule(moduleName, new StreamSpec(major, minor, streamCodeName), monitor()); + + Stream stream = module.getStream(0, 1); + String label = moduleName + "- Stream " + major + "." + minor; + + IAssemblyDescriptor assemblyDescriptor = IAssemblyManager.INSTANCE.createDescriptor(label, stream, monitor()); + { + assertThat(stream.getModule(), is(module)); + assertThat(stream.getSystem(), is(system)); + assertThat(stream.getMajorVersion(), is(major)); + assertThat(stream.getMinorVersion(), is(minor)); + assertThat(stream.getCodeName(), is(streamCodeName)); + assertThat(stream.getMode(), is(StreamMode.DEVELOPMENT)); + assertThat(stream.getBase(), nullValue()); + assertThat(stream.getBranchPoint(), is(CDOBranchPointRef.MAIN_HEAD)); + assertThat(stream, is(module.getStream(streamCodeName))); + + assertThat(assemblyDescriptor.getSystemDescriptor(), is(systemDescriptor)); + assertThat(assemblyDescriptor.getName(), is(label)); + assertThat(assemblyDescriptor.getBaseline(), is(stream)); + + CDOCheckout checkout = assemblyDescriptor.getCheckout(); + assertThat(checkout.isOnline(), is(true)); + assertThat(checkout.isOpen(), is(true)); + assertThat(checkout.getLabel(), is(label)); + assertThat(checkout.getBranchPath(), is(CDOBranch.MAIN_BRANCH_NAME)); + assertThat(checkout.getTimeStamp(), is(CDOBranchPoint.UNSPECIFIED_DATE)); + assertThat(checkout.getRepository(), is(systemDescriptor.getModuleRepository(moduleName))); + assertThat(checkout.getView().getViewSet().getViews().length, is(1)); + + Assembly assembly = assemblyDescriptor.getAssembly(); + assertThat(assembly.getSystemName(), is(SYSTEM_NAME)); + assertThat(assembly.getModules().size(), is(1)); + + AssemblyModule assemblyModule = assembly.getModules().get(0); + assertThat(assemblyModule.getName(), is(moduleName)); + assertThat(assemblyModule.getBranchPoint(), is(CDOBranchPointRef.MAIN_HEAD)); + + systemDescriptor.withModuleSession(moduleName, session -> { + CDOView view = session.openView(); + CDOResource resource = view.getResource(MODULE_DEFINITION_PATH); + ModuleDefinition moduleDefinition = (ModuleDefinition)resource.getContents().get(0); + assertThat(moduleDefinition.getName(), is(moduleName)); + assertThat(moduleDefinition.getVersion(), is(Version.createOSGi(major, minor, 0))); + assertThat(moduleDefinition.getDependencies().size(), is(0)); + }); + } + + return new ModuleCreationResult(module, stream, assemblyDescriptor); + + } + + protected void setModuleVersion(Stream stream1_0, String moduleName, int major, int minor, int micro) throws Exception + { + IAssemblyDescriptor stream1_0Descriptor = IAssemblyManager.INSTANCE.createDescriptor("Checkout - Stream 1.0", stream1_0, monitor()); + + editStream(stream1_0Descriptor, transaction -> { + CDOResource moduleDefinitionResource = transaction.getResource(MODULE_DEFINITION_PATH); + + EObject rootObject = moduleDefinitionResource.getContents().get(0); + assertThat(rootObject, notNullValue()); + assertThat(rootObject, instanceOf(ModuleDefinition.class)); + + if (rootObject instanceof ModuleDefinition) + { + ModuleDefinition moduleDefinition = (ModuleDefinition)rootObject; + assertThat(moduleDefinition.getName(), is(moduleName)); + moduleDefinition.setVersion(Version.createOSGi(major, minor, micro)); + + } + + }); + } + + protected Change createChange(ISystemDescriptor systemDescriptor, Stream stream, String changeLabel, String changeDescriptorLabel, + Consumer<CDOTransaction> editFunction) throws Exception + { + Change change = systemDescriptor.createChange(stream, null, changeLabel, monitor()); + + IAssemblyDescriptor change1Descriptor = IAssemblyManager.INSTANCE.createDescriptor(changeDescriptorLabel, change, monitor()); + CDOCheckout checkout = change1Descriptor.getCheckout(); + assertThat(checkout.getView().getViewSet().getViews().length, is(1)); + + CDOTransaction transaction = checkout.openTransaction(); + editFunction.accept(transaction); + transaction.commit(); + transaction.close(); + + checkout.delete(true); + return change; + } + + protected void editStream(IAssemblyDescriptor streamDescriptor, Consumer<CDOTransaction> editFunction) throws Exception + { + CDOTransaction transaction = streamDescriptor.getCheckout().openTransaction(); + editFunction.accept(transaction); + transaction.commit(); + transaction.close(); + } + + protected void deliverChange(ISystemDescriptor systemDescriptor, Stream stream, Change change) throws Exception + { + systemDescriptor.createDelivery(stream, change, LMMerger.CORE, monitor()); + } + + protected void removeDependencies(IAssemblyDescriptor clientStreamDescriptor) throws Exception + { + CDOCheckout checkout = clientStreamDescriptor.getCheckout(); + + CDOTransaction transaction = checkout.openTransaction(); + CDOResource resource = transaction.getResource(MODULE_DEFINITION_PATH); + ModuleDefinition moduleDefinition = (ModuleDefinition)resource.getContents().get(0); + moduleDefinition.getDependencies().clear(); + transaction.commit(); + + Updates updates = waitForUpdates(clientStreamDescriptor); + assertThat(updates.getAdditions().size(), is(0)); + assertThat(updates.getModifications().size(), is(1)); // Dependency removed from Module2. + assertThat(updates.getRemovals().size(), is(1)); // Module1 removed. + + CDOView[] views = transaction.getViewSet().getViews(); + assertThat(views.length, is(2)); + + clientStreamDescriptor.update(); + views = transaction.getViewSet().getViews(); + assertThat(views.length, is(1)); + assertThat(views[0], is(transaction)); + transaction.close(); + } + + protected long publishDrop(ISystemDescriptor systemDescriptor, System system, Stream stream, String name, String type) throws Exception + { + long timeStamp = java.lang.System.currentTimeMillis(); + DropType dropType = system.getProcess().getDropType(type); + + Drop drop = systemDescriptor.createDrop(stream, dropType, timeStamp, name, monitor()); + assertThat(drop.getBranchPoint().getTimeStamp(), is(timeStamp)); + + return timeStamp; + } + + protected long publishRelease(ISystemDescriptor systemDescriptor, System system, Stream stream, String releaseName) throws Exception + { + return publishDrop(systemDescriptor, system, stream, releaseName, "Release"); + } + + protected long publishTag(ISystemDescriptor systemDescriptor, System system, Stream stream, String tagName) throws Exception + { + return publishDrop(systemDescriptor, system, stream, tagName, "Tag"); + } + + protected void publishTagUpdateClientAndCheckUri(ISystemDescriptor systemDescriptor, System system, Stream supplierStream, + IAssemblyDescriptor clientStreamDescriptor, URI uri) throws Exception + { + // Check that no updates are available in clientStreamDescriptor + assertThat(clientStreamDescriptor.hasUpdatesAvailable(), is(false)); + + // Verify that the uri resource is not visible, yet. + CDOView view = clientStreamDescriptor.getCheckout().openView(); + ResourceSet resourceSet = view.getResourceSet(); + + try + { + resourceSet.getResource(uri, true); + fail("InvalidURIException expected"); + } + catch (InvalidURIException expected) + { + // Success. + } + + long timeStamp = publishTag(systemDescriptor, system, supplierStream, "TagName"); + + Updates updates = waitForUpdates(clientStreamDescriptor); + assertThat(updates.getAdditions().size(), is(0)); + assertThat(updates.getModifications().size(), is(1)); + assertThat(updates.getRemovals().size(), is(0)); + + clientStreamDescriptor.update(); + + // Verify that the uri resource is now visible. + CDOResource resource = (CDOResource)resourceSet.getResource(uri, true); + assertThat(resource, notNullValue()); + assertThat(resource.cdoView().getTimeStamp(), is(timeStamp)); + view.close(); + } + + protected void updateClient(IAssemblyDescriptor clientStreamDescriptor) throws Exception + { + waitForUpdates(clientStreamDescriptor); + clientStreamDescriptor.update(); + } + + protected void updateDependency(IAssemblyDescriptor clientStreamDescriptor, String supplierName, VersionRange newVersionRange) throws Exception + { + CDOCheckout checkout = clientStreamDescriptor.getCheckout(); + + CDOTransaction transaction = checkout.openTransaction(); + CDOResource resource = transaction.getResource(MODULE_DEFINITION_PATH); + ModuleDefinition moduleDefinition = (ModuleDefinition)resource.getContents().get(0); + + List<DependencyDefinition> dependencies = moduleDefinition.getDependencies().stream() + .filter(dependencyDefinition -> dependencyDefinition.getTargetName().equals(supplierName)).collect(Collectors.toList()); + assertThat(dependencies.size(), is(1)); + + dependencies.get(0).setVersionRange(newVersionRange); + + transaction.commit(); + } + + protected void createDependency(IAssemblyDescriptor clientStreamDescriptor, String supplierName, VersionRange versionRange) throws Exception + { + CDOCheckout checkout = clientStreamDescriptor.getCheckout(); + + CDOTransaction transaction = checkout.openTransaction(); + CDOResource resource = transaction.getResource(MODULE_DEFINITION_PATH); + ModuleDefinition moduleDefinition = (ModuleDefinition)resource.getContents().get(0); + moduleDefinition.getDependencies().add(ModulesFactory.eINSTANCE.createDependencyDefinition(supplierName, versionRange)); + transaction.commit(); + + transaction.close(); + } + + protected void createDependencyAndUpdate(IAssemblyDescriptor clientStreamDescriptor, String supplierName, VersionRange versionRange) throws Exception + { + CDOCheckout checkout = clientStreamDescriptor.getCheckout(); + + createDependency(clientStreamDescriptor, supplierName, versionRange); + + CDOTransaction transaction = checkout.openTransaction(); + Updates updates = waitForUpdates(clientStreamDescriptor); + assertThat(updates.getAdditions().get(supplierName), notNullValue()); // supplier added. + assertThat(updates.getModifications().size(), is(1)); // Dependency added to source. + assertThat(updates.getRemovals().size(), is(0)); + assertThat(checkout.getView().getViewSet().getViews().length, is(1)); + + CDOView[] views = transaction.getViewSet().getViews(); + assertThat(views.length, is(1)); + assertThat(views[0], is(transaction)); + + clientStreamDescriptor.update(); + views = transaction.getViewSet().getViews(); + assertThat(views.length, is(2)); + assertThat(views[0], is(transaction)); + assertThat(views[1].isReadOnly(), is(true)); + assertThat(checkout.getView().getViewSet().getViews().length, is(2)); + + transaction.close(); + } + + protected void createDependencyAndUpdate(IAssemblyDescriptor clientStreamDescriptor, String supplierName) throws Exception + { + createDependencyAndUpdate(clientStreamDescriptor, supplierName, null); + } + + public static IProgressMonitor monitor() + { + return new NullProgressMonitor(); + } + + /** + * @author Eike Stepper + */ + public static final class ModuleCreationResult + { + public final Module module; + + public final Stream stream; + + public final IAssemblyDescriptor assemblyDescriptor; + + public ModuleCreationResult(Module module, Stream stream, IAssemblyDescriptor assemblyDescriptor) + { + this.module = module; + this.stream = stream; + this.assemblyDescriptor = assemblyDescriptor; + } + } +} diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/AbstractLMTest.java b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/AbstractLMTest.java new file mode 100644 index 0000000000..bd16a7fa58 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/AbstractLMTest.java @@ -0,0 +1,235 @@ +/* + * Copyright (c) 2022 Eike Stepper (Loehne, 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.tests.lm; + +import org.eclipse.emf.cdo.explorer.CDOExplorerUtil; +import org.eclipse.emf.cdo.explorer.checkouts.CDOCheckout; +import org.eclipse.emf.cdo.explorer.repositories.CDORepository; +import org.eclipse.emf.cdo.explorer.repositories.CDORepositoryManager; +import org.eclipse.emf.cdo.lm.LMFactory; +import org.eclipse.emf.cdo.lm.client.IAssemblyDescriptor; +import org.eclipse.emf.cdo.lm.client.IAssemblyDescriptor.Updates; +import org.eclipse.emf.cdo.lm.client.ISystemDescriptor; +import org.eclipse.emf.cdo.lm.client.ISystemManager; +import org.eclipse.emf.cdo.lm.server.AbstractLifecycleManager; +import org.eclipse.emf.cdo.server.CDOServerUtil; +import org.eclipse.emf.cdo.server.IRepository; +import org.eclipse.emf.cdo.server.IStore; +import org.eclipse.emf.cdo.server.db.CDODBUtil; +import org.eclipse.emf.cdo.server.db.mapping.IMappingStrategy; +import org.eclipse.emf.cdo.server.db.mapping.ITypeMapping; +import org.eclipse.emf.cdo.server.net4j.CDONet4jServerUtil; +import org.eclipse.emf.cdo.spi.server.InternalRepository; +import org.eclipse.emf.cdo.tests.lm.bundle.OM; + +import org.eclipse.net4j.Net4jUtil; +import org.eclipse.net4j.acceptor.IAcceptor; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.IDBConnectionProvider; +import org.eclipse.net4j.db.h2.H2Adapter; +import org.eclipse.net4j.jvm.JVMUtil; +import org.eclipse.net4j.util.container.IPluginContainer; +import org.eclipse.net4j.util.io.TMPUtil; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.om.OMPlatform; + +import org.eclipse.core.runtime.CoreException; + +import org.h2.jdbcx.JdbcDataSource; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.TestInfo; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +/** + * @author Eike Stepper + */ +public abstract class AbstractLMTest +{ + public static final String SYSTEM_NAME = "System2022"; + + public static final String MODULE_DEFINITION_PATH = "module.md"; + + public static final IPluginContainer CONTAINER = IPluginContainer.INSTANCE; + + @SuppressWarnings("restriction") + private static final String BROWSER_PORT = org.eclipse.emf.cdo.internal.server.bundle.CDOServerApplication.PROP_BROWSER_PORT; + + private static final boolean STAND_ALONE = !OMPlatform.INSTANCE.isOSGiRunning(); + + private static final File TEST_FOLDER = STAND_ALONE ? // + TMPUtil.createTempFolder("lm-tests-") : // + new File(OM.BUNDLE.getStateLocation()); + + private static final String ACCEPTOR_NAME = "lm-test"; + + private InternalRepository systemRepository; + + private AbstractLifecycleManager lifecycleManager; + + private IAcceptor acceptor; + + static + { + System.out.println("Test Folder: " + TEST_FOLDER); + + if (STAND_ALONE) + { + Net4jUtil.prepareContainer(CONTAINER); + JVMUtil.prepareContainer(CONTAINER); + CDONet4jServerUtil.prepareContainer(CONTAINER); + CDODBUtil.prepareContainer(CONTAINER); + CONTAINER.activate(); + + ITypeMapping.Registry.INSTANCE.getClass(); + } + + String port = OMPlatform.INSTANCE.getProperty(BROWSER_PORT); + if (port != null) + { + System.out.println("DB Browser: http://localhost:" + port); + CONTAINER.getElement("org.eclipse.emf.cdo.server.browsers", "default", port); + } + + System.out.println(); + } + + private static InternalRepository createRepository(String name, File dbFolder) + { + JdbcDataSource dataSource = new JdbcDataSource(); + dataSource.setURL("jdbc:h2:" + dbFolder.toURI() + "/" + name); + + IMappingStrategy mappingStrategy = CDODBUtil.createHorizontalMappingStrategy(true, true); + IDBAdapter dbAdapter = new H2Adapter(); + IDBConnectionProvider dbConnectionProvider = dbAdapter.createConnectionProvider(dataSource); + IStore store = CDODBUtil.createStore(mappingStrategy, dbAdapter, dbConnectionProvider); + + Map<String, String> props = new HashMap<>(); + props.put(IRepository.Props.OVERRIDE_UUID, ""); + props.put(IRepository.Props.SUPPORTING_AUDITS, "true"); + props.put(IRepository.Props.SUPPORTING_BRANCHES, "true"); + + InternalRepository repository = (InternalRepository)CDOServerUtil.createRepository(name, store, props); + CDOServerUtil.addRepository(CONTAINER, repository); + return repository; + } + + @BeforeEach + @SuppressWarnings("restriction") + protected void setUp(TestInfo testInfo) throws Exception + { + String testName = testInfo.getTestClass().get().getSimpleName() + "." + testInfo.getTestMethod().get().getName(); + System.out.println("+++++++++++++++++++++++ " + testName + "() +++++++++++++++++++++++"); + + File testFolder = new File(TEST_FOLDER, testName); + System.out.println("Test folder: " + testFolder); + + File dbFolder = new File(testFolder, "db"); + dbFolder.mkdirs(); + + systemRepository = createRepository(SYSTEM_NAME, dbFolder); + + lifecycleManager = new AbstractLifecycleManager() + { + @Override + protected InternalRepository createModuleRepository(String moduleName) throws CoreException + { + return createRepository(moduleName, dbFolder); + } + }; + + lifecycleManager.setProcessInitializer(process -> { + process.getDropTypes().add(LMFactory.eINSTANCE.createDropType("Tag", false)); + process.getDropTypes().add(LMFactory.eINSTANCE.createDropType("Milestone", false)); + process.getDropTypes().add(LMFactory.eINSTANCE.createDropType("Release", true)); + }); + + lifecycleManager.setSystemRepository(systemRepository); + lifecycleManager.setSystemName(SYSTEM_NAME); + lifecycleManager.setModuleDefinitionPath(MODULE_DEFINITION_PATH); + lifecycleManager.activate(); + + acceptor = JVMUtil.getAcceptor(CONTAINER, ACCEPTOR_NAME); + + if (STAND_ALONE) + { + org.eclipse.emf.cdo.internal.explorer.bundle.OM.initializeManagers(new File(testFolder, "explorer")); + org.eclipse.emf.cdo.lm.internal.client.bundle.OM.initializeManagers(); + } + } + + @AfterEach + @SuppressWarnings("restriction") + protected void tearDown() throws Exception + { + if (STAND_ALONE) + { + org.eclipse.emf.cdo.lm.internal.client.bundle.OM.disposeManagers(); + org.eclipse.emf.cdo.internal.explorer.bundle.OM.disposeManagers(); + } + else + { + for (CDOCheckout checkout : CDOExplorerUtil.getCheckoutManager().getCheckouts()) + { + checkout.delete(true); + } + + for (CDORepository repository : CDOExplorerUtil.getRepositoryManager().getRepositories()) + { + repository.delete(true); + } + } + + LifecycleUtil.deactivate(acceptor); + LifecycleUtil.deactivate(lifecycleManager); + LifecycleUtil.deactivate(systemRepository); + + System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); + } + + protected static ISystemDescriptor createSystemRepository() + { + Properties props = new Properties(); + props.put("type", "remote"); + props.put("name", SYSTEM_NAME); + props.put("label", SYSTEM_NAME); + props.put("connectorType", "jvm"); + props.put("connectorDescription", ACCEPTOR_NAME); + + CDORepositoryManager repositoryManager = CDOExplorerUtil.getRepositoryManager(); + CDORepository repository = repositoryManager.addRepository(props); + repository.connect(); + + ISystemDescriptor systemDescriptor = ISystemManager.INSTANCE.getDescriptor(SYSTEM_NAME, 5000); + systemDescriptor.open(); + return systemDescriptor; + } + + protected static Updates waitForUpdates(IAssemblyDescriptor assemblyDescriptor) throws InterruptedException + { + long end = System.currentTimeMillis() + 10000L; + while (!assemblyDescriptor.hasUpdatesAvailable()) + { + if (System.currentTimeMillis() > end) + { + throw new InterruptedException(); + } + + Thread.sleep(10); + } + + return assemblyDescriptor.getAvailableUpdates(); + } +} diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMIntegrationTest.java b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMIntegrationTest.java new file mode 100644 index 0000000000..6c81cafd1b --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMIntegrationTest.java @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2022 Eike Stepper (Loehne, 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.tests.lm; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; + +import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants; +import org.eclipse.emf.cdo.lm.Change; +import org.eclipse.emf.cdo.lm.Stream; +import org.eclipse.emf.cdo.lm.System; +import org.eclipse.emf.cdo.lm.client.IAssemblyDescriptor; +import org.eclipse.emf.cdo.lm.client.ISystemDescriptor; +import org.eclipse.emf.cdo.view.CDOView; + +import org.eclipse.emf.common.util.URI; + +import org.junit.jupiter.api.Test; + +/** + * @author Eike Stepper + */ +public class LMIntegrationTest extends AbstractIntegrationTest +{ + private static final String INITIAL_STREAM = "InitialStream"; + + private static final String MODULE_CLIENT = "ModuleClient"; + + private static final String MODULE_SUPPLIER = "ModuleSupplier"; + + private static final String MODULE_SUPPLIER_A = "ModuleSupplierA"; + + private static final String MODULE_SUPPLIER_B = "ModuleSupplierB"; + + private static final String CHANGE_1 = "Change1"; + + @Test + protected void entireNormalFlow() throws Exception + { + ISystemDescriptor systemDescriptor = createSystemRepository(); + System system = systemDescriptor.getSystem(); + + // Add supplier Module + ModuleCreationResult supplierModuleCreationResult = createModule(systemDescriptor, system, MODULE_SUPPLIER, INITIAL_STREAM, 0, 1); + + // Module supplierModule = supplierModuleCreationResult.module; + Stream supplierStream = supplierModuleCreationResult.stream; + IAssemblyDescriptor supplierStreamDescriptor = supplierModuleCreationResult.assemblyDescriptor; + + Change change1 = createChange(systemDescriptor, supplierStream, CHANGE_1, MODULE_SUPPLIER + " - " + CHANGE_1, transaction -> { + transaction.createResource(MODULE_SUPPLIER_A); + }); + + // Deliver change1 to supplierStream. + deliverChange(systemDescriptor, supplierStream, change1); + + // Test delivery + { + CDOView view = supplierStreamDescriptor.getCheckout().openView(); + assertThat(view.hasResource(MODULE_SUPPLIER_A), is(true)); + view.close(); + } + + // Add ModuleClient + ModuleCreationResult clientModuleCreationResult = createModule(systemDescriptor, system, MODULE_CLIENT, INITIAL_STREAM, 0, 1); + // Module clientModule = clientModuleCreationResult.module; + // Stream clientStream = clientModuleCreationResult.stream; + + IAssemblyDescriptor clientStreamDescriptor = clientModuleCreationResult.assemblyDescriptor; + + // Create dependency from clientModule to supplierModule + createDependencyAndUpdate(clientStreamDescriptor, MODULE_SUPPLIER); + + // Modify ModuleClient + editStream(supplierStreamDescriptor, transaction -> { + transaction.createResource(MODULE_SUPPLIER_B); + }); + + // Publish a Tag for ModuleSupplier and update ModuleClient. + URI uri = URI.createURI(CDOProtocolConstants.PROTOCOL_NAME + "://" + MODULE_SUPPLIER + "/" + MODULE_SUPPLIER_B); + publishTagUpdateClientAndCheckUri(systemDescriptor, system, supplierStream, clientStreamDescriptor, uri); + + // Remove dependency on ModuleSupplier from ModuleClient and update ModuleClient. + removeDependencies(clientStreamDescriptor); + + // Add dependency on ModuleSupplier back to ModuleClient and update ModuleClient. + createDependencyAndUpdate(clientStreamDescriptor, MODULE_SUPPLIER); + } +} diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMVersionEvolutionTest.java b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMVersionEvolutionTest.java new file mode 100644 index 0000000000..ab610099ff --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/LMVersionEvolutionTest.java @@ -0,0 +1,278 @@ +/* + * Copyright (c) 2022 Eike Stepper (Loehne, 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.tests.lm; + +import static org.hamcrest.CoreMatchers.instanceOf; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.notNullValue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; + +import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants; +import org.eclipse.emf.cdo.common.util.CDOException; +import org.eclipse.emf.cdo.eresource.CDOResource; +import org.eclipse.emf.cdo.lm.Baseline; +import org.eclipse.emf.cdo.lm.Drop; +import org.eclipse.emf.cdo.lm.DropType; +import org.eclipse.emf.cdo.lm.LMFactory; +import org.eclipse.emf.cdo.lm.Module; +import org.eclipse.emf.cdo.lm.Process; +import org.eclipse.emf.cdo.lm.Stream; +import org.eclipse.emf.cdo.lm.StreamMode; +import org.eclipse.emf.cdo.lm.System; +import org.eclipse.emf.cdo.lm.client.IAssemblyDescriptor; +import org.eclipse.emf.cdo.lm.client.IAssemblyDescriptor.Updates; +import org.eclipse.emf.cdo.lm.client.ISystemDescriptor; +import org.eclipse.emf.cdo.transaction.CDOTransaction; +import org.eclipse.emf.cdo.view.CDOView; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.equinox.p2.metadata.Version; +import org.eclipse.equinox.p2.metadata.VersionRange; + +import org.junit.jupiter.api.Test; + +import java.util.function.Consumer; + +/** + * @author Eike Stepper + */ +public class LMVersionEvolutionTest extends AbstractIntegrationTest +{ + private static final String INITIAL_STREAM = "InitialStream"; + + private static final String MODULE_CLIENT = "ModuleClient"; + + private static final String MODULE_CLIENT_A = "ModuleClientA"; + + private static final String MODULE_SUPPLIER = "ModuleSupplier"; + + private static final String MODULE_SUPPLIER_A = "ModuleSupplierA"; + + private static final String SUPPLIER_DROP_TYPE = "SupplierDropType"; + + private static final String TAG1_0 = "Tag1.0"; + + @Test + protected void testVersionEvolution() throws Exception + { + ISystemDescriptor systemDescriptor = createSystemRepository(); + System system = systemDescriptor.getSystem(); + + /* + * Add supplier Module + */ + ModuleCreationResult supplierModuleCreationResult = createModule(systemDescriptor, system, MODULE_SUPPLIER, INITIAL_STREAM, 0, 1); + + Module supplierModule = supplierModuleCreationResult.module; + Stream supplierStream = supplierModuleCreationResult.stream; + IAssemblyDescriptor supplierStreamDescriptor = supplierModuleCreationResult.assemblyDescriptor; + + editStream(supplierStreamDescriptor, transaction -> { + CDOResource resource = transaction.createResource(MODULE_SUPPLIER_A); + DropType dropType = LMFactory.eINSTANCE.createDropType(); + dropType.setName(SUPPLIER_DROP_TYPE); + System sys = LMFactory.eINSTANCE.createSystem(); + sys.setName("SupplierSystem"); + Process process = LMFactory.eINSTANCE.createProcess(); + process.getDropTypes().add(dropType); + sys.setProcess(process); + // EClass eClass = EcoreFactory.eINSTANCE.createEClass(); + // eClass.setName(SUPPLIER_TYPE); + resource.getContents().add(sys); + }); + + publishTag(systemDescriptor, system, supplierStream, "Tag0.1"); + + /* + * Add ModuleClient + */ + ModuleCreationResult clientModuleCreationResult = createModule(systemDescriptor, system, MODULE_CLIENT, INITIAL_STREAM, 0, 1); + // Module clientModule = clientModuleCreationResult.module; + // Stream clientStream = clientModuleCreationResult.stream; + IAssemblyDescriptor clientStreamDescriptor = clientModuleCreationResult.assemblyDescriptor; + + /* + * Create dependency from clientModule to supplierModule + */ + createDependency(clientStreamDescriptor, MODULE_SUPPLIER, new VersionRange("[0.0.0,1.0.0)")); + + /* + * Update the client + */ + updateClient(clientStreamDescriptor); + + /* + * Modify ModuleClient + */ + editStream(clientStreamDescriptor, transaction -> { + CDOResource resourceClient = transaction.createResource(MODULE_CLIENT_A); + + CDOView view = clientStreamDescriptor.getCheckout().openView(); + ResourceSet resourceSet = view.getResourceSet(); + + /* + * Retrieve drop from supplier + */ + URI uri = URI.createURI(CDOProtocolConstants.PROTOCOL_NAME + "://" + MODULE_SUPPLIER + "/" + MODULE_SUPPLIER_A); + CDOResource resourceSupplier = (CDOResource)resourceSet.getResource(uri, true); + assertThat(resourceSupplier, notNullValue()); + EObject eObject = resourceSupplier.getContents().get(0); + assertThat(eObject, instanceOf(System.class)); + DropType supplierDropType = ((System)resourceSupplier.getContents().get(0)).getProcess().getDropTypes().get(0); + + System clientSystem = LMFactory.eINSTANCE.createSystem(); + clientSystem.setName("ClientStream"); + + Module clientModule = LMFactory.eINSTANCE.createModule(); + clientModule.setName("SampleClientModule"); + + clientSystem.getModules().add(clientModule); + + Stream stream = LMFactory.eINSTANCE.createStream(); + stream.setCodeName("ClientStream"); + + clientModule.getStreams().add(stream); + + Drop drop = LMFactory.eINSTANCE.createDrop(); + drop.setLabel("ClientDrop"); + + drop.setType(supplierDropType); + + stream.getContents().add(drop); + resourceClient.getContents().add(clientSystem); + }); + + /* + * Check client refers to supplier + */ + retrieveValueAndTest(clientStreamDescriptor, // + resourceSupplier -> assertNotEquals(0, resourceSupplier.getContents().size()), // + element -> assertNotEquals(null, element)); + + /* + * Try to get a version not published yet + */ + updateDependency(clientStreamDescriptor, MODULE_SUPPLIER, new VersionRange("[1.0.0,2.0.0)")); + + try + { + waitForUpdates(clientStreamDescriptor); + fail("InterruptedException expected"); + } + catch (InterruptedException expected) + { + // Success + } + + /* + * Make changes on supplier + */ + editStream(supplierStreamDescriptor, transaction -> { + CDOResource resource = transaction.getResource(MODULE_SUPPLIER_A); + resource.getContents().clear(); + }); + + /* + * Create release from initial stream of supplier + */ + publishRelease(systemDescriptor, system, supplierStream, "Release0.1"); + supplierStream.getLastRelease(); + + /* + * Create a new stream for 1.0 + */ + Stream stream1_0 = createStream(systemDescriptor, supplierModule, supplierStream.getLastRelease(), 1, 0, "Stream1.0"); + + /* + * Check that initialStream is now maintenance + */ + assertThat(supplierStream.getMode(), is(StreamMode.MAINTENANCE)); + + /* + * Try to create tag from 1.0 stream of supplier + */ + try + { + publishTag(systemDescriptor, system, stream1_0, TAG1_0); + fail("CDOException expected"); + } + catch (CDOException expected) + { + // Success + // Module definition version 0.1.0 is inconsistent with the stream version 1.0 + } + + setModuleVersion(stream1_0, MODULE_SUPPLIER, 1, 0, 0); + + /* + * Create tag from 1.0 stream of supplier + */ + publishTag(systemDescriptor, system, stream1_0, TAG1_0); + + Baseline baseline = stream1_0.getContents().stream().filter(b -> b.getName().equals(TAG1_0)).findAny().orElse(null); + assertThat(baseline, instanceOf(Drop.class)); + if (baseline instanceof Drop) + { + Drop tag1_0 = (Drop)baseline; + assertTrue(tag1_0.getVersion().compareTo(Version.createOSGi(1, 0, 0)) > 0); + } + + /* + * Update dependency in client + */ + updateDependency(clientStreamDescriptor, MODULE_SUPPLIER, new VersionRange("[1.0.0,2.0.0)")); + + Updates updates = waitForUpdates(clientStreamDescriptor); + assertEquals(2, updates.getModifications().size()); + + /* + * Update the client + */ + updateClient(clientStreamDescriptor); + + /* + * Check that client model cannot resolve the supplier model element (because deleted) + */ + retrieveValueAndTest(clientStreamDescriptor, // + resourceSupplier -> assertEquals(0, resourceSupplier.getContents().size()), // + element -> assertEquals(null, element)); + } + + private void retrieveValueAndTest(IAssemblyDescriptor clientStreamDescriptor, Consumer<Resource> testResource, Consumer<DropType> testDropType) + { + CDOTransaction transaction = clientStreamDescriptor.getCheckout().openTransaction(); + URI uriSupplier = URI.createURI(CDOProtocolConstants.PROTOCOL_NAME + "://" + MODULE_SUPPLIER + "/" + MODULE_SUPPLIER_A); + + CDOResource resourceSupplier = (CDOResource)transaction.getResourceSet().getResource(uriSupplier, true); + testResource.accept(resourceSupplier); + + CDOResource clientResource = transaction.getResource(MODULE_CLIENT_A); + + System sampleClientSystem = (System)clientResource.getContents().get(0); + Module sampleClientModule = sampleClientSystem.getModules().get(0); + Stream sampleClientStream = sampleClientModule.getStreams().get(0); + Baseline sampleClientbaseline = sampleClientStream.getContents().get(0); + assertThat(sampleClientbaseline, instanceOf(Drop.class)); + DropType sampleClientDropType = ((Drop)sampleClientbaseline).getType(); + + testDropType.accept(sampleClientDropType); + + transaction.close(); + } +} diff --git a/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/bundle/OM.java b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/bundle/OM.java new file mode 100644 index 0000000000..e90a68d991 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.tests.lm/src/org/eclipse/emf/cdo/tests/lm/bundle/OM.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2022 Eike Stepper (Loehne, 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.tests.lm.bundle; + +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.emf.cdo.tests.lm"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} |