=UTF-8
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.core.prefs b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..cf601e0e
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,399 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.xtend,*._trace,*.xtendbin
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+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.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullisdefault=disabled
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=17
+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=disabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+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=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+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.includeFieldsInNullAnalysis=disabled
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
+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.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecInsufficientInfo=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.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=ignore
+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.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=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+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=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+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=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+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=140
+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.format_guardian_clause_on_one_line=false
+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=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+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_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not 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=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_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=140
+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=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.launching.prefs b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 00000000..96809758
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+#Wed Aug 12 21:10:17 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.ui.prefs b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..b8d86ba0
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,118 @@
+#Wed Oct 14 22:36:24 CEST 2009
+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_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=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=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=false
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=false
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_Xtext
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_'Xtext'
+formatter_settings_version=11
+org.eclipse.jdt.ui.exception.name=e
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+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=1
+org.eclipse.jdt.ui.text.custom_code_templates=/*******************************************************************************\n * Copyright (c) ${year} itemis AG (http\://www.itemis.eu) and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *******************************************************************************//**\n * @author ${user} - Initial contribution and API\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//**\n * \n *//**\n * @author ${user}\n *\n * ${tags}\n *//**\n * \n *//**\n * ${tags}\n *//* (non-JSDoc)\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated function stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
+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_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=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=false
+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=false
+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=false
+sp_cleanup.remove_unused_imports=false
+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=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.pde.prefs b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.pde.prefs
new file mode 100644
index 00000000..2bd5814c
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,25 @@
+#Wed Aug 12 21:14:13 CEST 2009
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=2
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+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/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/GenerateDomainmodel.mwe2.launch b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/GenerateDomainmodel.mwe2.launch
new file mode 100644
index 00000000..5183584e
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/GenerateDomainmodel.mwe2.launch
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/META-INF/MANIFEST.MF b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..f9a88c2a
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Xtext Domainmodel Example - Runtime
+Bundle-Vendor: Eclipse Xtext
+Bundle-Version: 2.37.0.qualifier
+Bundle-SymbolicName: org.eclipse.xtext.example.domainmodel; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)",
+ org.eclipse.emf.common,
+ org.eclipse.emf.ecore,
+ org.eclipse.equinox.common;bundle-version="3.19.0",
+ org.eclipse.xtend.lib;bundle-version="2.14.0",
+ org.eclipse.xtext,
+ org.eclipse.xtext.common.types,
+ org.eclipse.xtext.xbase,
+ org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
+ org.objectweb.asm;bundle-version="[9.7.1,9.8.0)";resolution:=optional
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Export-Package: org.eclipse.xtext.example.domainmodel,
+ org.eclipse.xtext.example.domainmodel.domainmodel,
+ org.eclipse.xtext.example.domainmodel.domainmodel.impl,
+ org.eclipse.xtext.example.domainmodel.domainmodel.util,
+ org.eclipse.xtext.example.domainmodel.formatting2,
+ org.eclipse.xtext.example.domainmodel.jvmmodel,
+ org.eclipse.xtext.example.domainmodel.parser.antlr,
+ org.eclipse.xtext.example.domainmodel.parser.antlr.internal,
+ org.eclipse.xtext.example.domainmodel.scoping,
+ org.eclipse.xtext.example.domainmodel.serializer,
+ org.eclipse.xtext.example.domainmodel.services,
+ org.eclipse.xtext.example.domainmodel.validation
+Import-Package: org.apache.log4j
+Automatic-Module-Name: org.eclipse.xtext.example.domainmodel
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/about.html b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/about.html
new file mode 100644
index 00000000..164f781a
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/about.html
@@ -0,0 +1,36 @@
+
+
+
+
+About
+
+
+ About This Content
+
+ November 30, 2017
+ License
+
+
+ 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 2.0 ("EPL"). A copy of the EPL is
+ available at http://www.eclipse.org/legal/epl-2.0.
+ For purposes of the EPL, "Program" will mean the Content.
+
+
+
+ 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 http://www.eclipse.org.
+
+
+
+
\ No newline at end of file
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/build.properties b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/build.properties
new file mode 100644
index 00000000..25fe36d2
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/build.properties
@@ -0,0 +1,10 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = model/generated/,\
+ .,\
+ META-INF/,\
+ plugin.xml,\
+ about.html,\
+ model/
+additional.bundles = org.eclipse.xtext.xtext.generator.dependencies
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/plugin.xml b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/plugin.xml
new file mode 100644
index 00000000..ae5980d5
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/plugin.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/pom.xml b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/pom.xml
new file mode 100644
index 00000000..5fb82217
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/pom.xml
@@ -0,0 +1,101 @@
+
+ 4.0.0
+
+ org.eclipse.xtext.example.domainmodel
+ org.eclipse.xtext.example.domainmodel.parent
+ 2.37.0-SNAPSHOT
+ ../org.eclipse.xtext.example.domainmodel.releng
+
+ org.eclipse.xtext.example.domainmodel
+ eclipse-plugin
+
+
+ 2.20.0
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.0.0
+
+
+
+ mwe2Launcher
+ generate-sources
+
+ java
+
+
+
+
+ org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher
+
+ /${project.basedir}/src/org/eclipse/xtext/example/domainmodel/GenerateDomainmodel.mwe2
+ -p
+ rootPath=/${project.basedir}/..
+
+ compile
+ true
+ false
+
+
+
+ org.eclipse.xtext
+ xtext-antlr-generator
+ [2.1.1, 3)
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+ ${basedir}/../org.eclipse.xtext.example.domainmodel/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.eclipse.xtext.example.domainmodel.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.eclipse.xtext.example.domainmodel.ide/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.eclipse.xtext.example.domainmodel.ui/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.eclipse.xtext.example.domainmodel.ui.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/model/generated/
+
+
+
+
+
+
+
+
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/Domainmodel.xtext b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/Domainmodel.xtext
new file mode 100644
index 00000000..0533e74e
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/Domainmodel.xtext
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2017 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+grammar org.eclipse.xtext.example.domainmodel.Domainmodel with org.eclipse.xtext.xbase.Xbase
+
+generate domainmodel "http://www.xtext.org/example/Domainmodel"
+
+DomainModel:
+ importSection=XImportSection?
+ elements+=AbstractElement*;
+
+AbstractElement:
+ PackageDeclaration | Entity;
+
+PackageDeclaration:
+ 'package' name=QualifiedName '{'
+ elements+=AbstractElement*
+ '}';
+
+Entity:
+ 'entity' name=ValidID ('extends' superType=JvmParameterizedTypeReference)? '{'
+ features+=Feature*
+ '}';
+
+Feature:
+ Property | Operation;
+
+Property:
+ name=ValidID ':' type=JvmTypeReference;
+
+Operation:
+ 'op' name=ValidID '(' (params+=FullJvmFormalParameter (',' params+=FullJvmFormalParameter)*)? ')' (':' type=JvmTypeReference)?
+ body=XBlockExpression;
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/DomainmodelRuntimeModule.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/DomainmodelRuntimeModule.java
new file mode 100644
index 00000000..0f348601
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/DomainmodelRuntimeModule.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) 2011, 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.eclipse.xtext.example.domainmodel;
+
+import org.eclipse.xtext.resource.persistence.IResourceStorageFacade;
+import org.eclipse.xtext.xbase.resource.BatchLinkableResourceStorageFacade;
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+public class DomainmodelRuntimeModule extends AbstractDomainmodelRuntimeModule {
+ public Class extends IResourceStorageFacade> bindResourceStorageFacade() {
+ return BatchLinkableResourceStorageFacade.class;
+ }
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/DomainmodelStandaloneSetup.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/DomainmodelStandaloneSetup.java
new file mode 100644
index 00000000..a0a63072
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/DomainmodelStandaloneSetup.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2011, 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.eclipse.xtext.example.domainmodel;
+
+
+/**
+ * Initialization support for running Xtext languages without Equinox extension registry.
+ */
+public class DomainmodelStandaloneSetup extends DomainmodelStandaloneSetupGenerated {
+
+ public static void doSetup() {
+ new DomainmodelStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/GenerateDomainmodel.mwe2 b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/GenerateDomainmodel.mwe2
new file mode 100644
index 00000000..1195c7df
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/GenerateDomainmodel.mwe2
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2010, 2018 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+module org.eclipse.xtext.example.domainmodel.GenerateDomainmodelLanguage
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+import org.eclipse.xtext.xtext.generator.ui.codemining.CodeMiningFragment
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "org.eclipse.xtext.example.domainmodel"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = true
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ preferXtendStubs = false
+ encoding = "UTF-8"
+ fileHeader =
+"/**
+ * Copyright (c) 2011, 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */"
+ }
+ }
+ language = StandardLanguage {
+ name = "org.eclipse.xtext.example.domainmodel.Domainmodel"
+ fileExtensions = "dmodel"
+
+ serializer = {
+ generateStub = true
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ generateDeprecationValidation = false
+ }
+ formatter = {
+ generateStub = true
+ generateXtendStub = false
+ }
+ generator = {
+ generateStub = false
+ }
+ fragment = CodeMiningFragment {
+ generateStub = true
+ generateXtendStub = false
+ }
+ }
+ }
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/formatting2/DomainmodelFormatter.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/formatting2/DomainmodelFormatter.java
new file mode 100644
index 00000000..397da00c
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/formatting2/DomainmodelFormatter.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) 2014, 2022 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.eclipse.xtext.example.domainmodel.formatting2;
+
+import org.eclipse.xtext.common.types.JvmFormalParameter;
+import org.eclipse.xtext.example.domainmodel.domainmodel.AbstractElement;
+import org.eclipse.xtext.example.domainmodel.domainmodel.DomainModel;
+import org.eclipse.xtext.example.domainmodel.domainmodel.DomainmodelPackage;
+import org.eclipse.xtext.example.domainmodel.domainmodel.Entity;
+import org.eclipse.xtext.example.domainmodel.domainmodel.Feature;
+import org.eclipse.xtext.example.domainmodel.domainmodel.Operation;
+import org.eclipse.xtext.example.domainmodel.domainmodel.PackageDeclaration;
+import org.eclipse.xtext.example.domainmodel.domainmodel.Property;
+import org.eclipse.xtext.formatting2.IFormattableDocument;
+import org.eclipse.xtext.formatting2.regionaccess.ISemanticRegion;
+import org.eclipse.xtext.xbase.formatting2.XbaseFormatter;
+
+/**
+ * @author Moritz Eysholdt - Initial implementation and API
+ */
+public class DomainmodelFormatter extends XbaseFormatter {
+ protected void _format(DomainModel domainmodel, IFormattableDocument document) {
+ document.append(document.prepend(domainmodel, it -> {
+ it.setNewLines(0, 0, 1);
+ it.noSpace();
+ }), this::newLine);
+ format(domainmodel.getImportSection(), document);
+ for (AbstractElement element : domainmodel.getElements()) {
+ format(element, document);
+ }
+ }
+
+ protected void _format(PackageDeclaration pkg, IFormattableDocument document) {
+ ISemanticRegion open = regionFor(pkg).keyword("{");
+ ISemanticRegion close = regionFor(pkg).keyword("}");
+ document.surround(regionFor(pkg).feature(DomainmodelPackage.Literals.ABSTRACT_ELEMENT__NAME), this::oneSpace);
+ document.append(open, this::newLine);
+ document.interior(open, close, this::indent);
+ for (AbstractElement element : pkg.getElements()) {
+ document.format(element);
+ document.append(element, it -> it.setNewLines(1, 1, 2));
+ }
+ }
+
+ protected void _format(Entity entity, IFormattableDocument document) {
+ ISemanticRegion open = regionFor(entity).keyword("{");
+ ISemanticRegion close = regionFor(entity).keyword("}");
+ document.surround(regionFor(entity).feature(DomainmodelPackage.Literals.ABSTRACT_ELEMENT__NAME), this::oneSpace);
+ document.surround(entity.getSuperType(), this::oneSpace);
+ document.append(open, this::newLine);
+ document.interior(open, close, this::indent);
+ format(entity.getSuperType(), document);
+ for (Feature feature : entity.getFeatures()) {
+ document.format(feature);
+ document.append(feature, it -> it.setNewLines(1, 1, 2));
+ }
+ }
+
+ protected void _format(Property property, IFormattableDocument document) {
+ document.surround(regionFor(property).keyword(":"), this::noSpace);
+ document.format(property.getType());
+ }
+
+ protected void _format(Operation operation, IFormattableDocument document) {
+ document.append(regionFor(operation).keyword("op"), this::oneSpace);
+ document.surround(regionFor(operation).keyword("("), this::noSpace);
+ if (!operation.getParams().isEmpty()) {
+ for (ISemanticRegion comma : regionFor(operation).keywords(",")) {
+ document.append(document.prepend(comma, this::noSpace), this::oneSpace);
+ }
+ for (JvmFormalParameter params : operation.getParams()) {
+ document.format(params);
+ }
+ document.prepend(regionFor(operation).keyword(")"), this::noSpace);
+ }
+ if (operation.getType() != null) {
+ document.append(regionFor(operation).keyword(")"), this::noSpace);
+ document.append(document.prepend(operation.getType(), this::noSpace), this::oneSpace);
+ document.format(operation.getType());
+ } else {
+ document.append(regionFor(operation).keyword(")"), this::oneSpace);
+ }
+ document.format(operation.getBody());
+ }
+
+ @Override
+ public void format(Object expr, IFormattableDocument format) {
+ formatUsingPolymorphicDispatcher(expr, format);
+ }
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/jvmmodel/DomainmodelJvmModelHelper.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/jvmmodel/DomainmodelJvmModelHelper.java
new file mode 100644
index 00000000..f6404b1c
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/jvmmodel/DomainmodelJvmModelHelper.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.xtext.example.domainmodel.jvmmodel;
+
+import com.google.common.collect.HashMultimap;
+import com.google.common.collect.Multimap;
+import com.google.inject.Inject;
+import java.util.Collection;
+import java.util.List;
+import java.util.function.Consumer;
+import org.eclipse.xtext.common.types.JvmDeclaredType;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.xtext.xbase.typesystem.override.IResolvedOperation;
+import org.eclipse.xtext.xbase.typesystem.override.OverrideHelper;
+
+/**
+ * @author Lorenzo Bettini - Initial contribution and API, https://github.com/eclipse/xtext-eclipse/issues/1205
+ */
+public class DomainmodelJvmModelHelper {
+
+ @Inject
+ private OverrideHelper overrideHelper;
+
+ /**
+ * Detects duplicated {@link JvmOperation}s in the passed {@link JvmDeclaredType} taking into consideration overloading and type
+ * erasure; each collection of duplicates is passed to the consumer.
+ */
+ public void handleDuplicateJvmOperations(JvmDeclaredType jvmDeclaredType, Consumer> consumer) {
+ // takes into consideration overloading and type erasure
+ List methods = overrideHelper.getResolvedFeatures(jvmDeclaredType).getDeclaredOperations();
+ Multimap signature2Declarations = HashMultimap.create();
+
+ methods.forEach(method -> signature2Declarations.put(method.getResolvedErasureSignature(), method.getDeclaration()));
+
+ signature2Declarations.asMap().values().forEach(jvmOperations -> {
+ if (jvmOperations.size() > 1) {
+ consumer.accept(jvmOperations);
+ }
+ });
+ }
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/jvmmodel/DomainmodelJvmModelInferrer.xtend b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/jvmmodel/DomainmodelJvmModelInferrer.xtend
new file mode 100644
index 00000000..814f317e
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/jvmmodel/DomainmodelJvmModelInferrer.xtend
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2021 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.xtext.example.domainmodel.jvmmodel
+
+import com.google.inject.Inject
+import org.eclipse.xtext.common.types.JvmDeclaredType
+import org.eclipse.xtext.example.domainmodel.domainmodel.Entity
+import org.eclipse.xtext.example.domainmodel.domainmodel.Operation
+import org.eclipse.xtext.example.domainmodel.domainmodel.Property
+import org.eclipse.xtext.naming.IQualifiedNameProvider
+import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer
+import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
+import org.eclipse.xtext.xbase.jvmmodel.IJvmModelAssociations
+import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
+import org.eclipse.xtext.xbase.lib.Procedures.Procedure1
+import org.eclipse.xtext.xbase.jvmmodel.IJvmModelAssociator
+
+class DomainmodelJvmModelInferrer extends AbstractModelInferrer {
+
+ @Inject extension JvmTypesBuilder
+ @Inject extension IQualifiedNameProvider
+ @Inject extension DomainmodelJvmModelHelper
+ @Inject extension IJvmModelAssociations
+ @Inject extension IJvmModelAssociator
+
+ def dispatch infer(Entity entity, extension IJvmDeclaredTypeAcceptor acceptor, boolean prelinkingPhase) {
+ accept(entity.toClass( entity.fullyQualifiedName )) [
+ documentation = entity.documentation
+ superClass = entity.superType
+
+ // let's add a default constructor
+ members += entity.toConstructor []
+
+ // and one which can be called with a lambda for initialization.
+ val procedureType = typeRef(Procedure1, typeRef(it)) /* Procedure */
+ members += entity.toConstructor [
+ parameters += entity.toParameter("initializer", procedureType)
+ // here we implement the body using black box Java code.
+ body = '''
+ initializer.apply(this);
+ '''
+ ]
+
+ // now let's go over the features
+ for ( f : entity.features ) {
+ switch f {
+
+ // for properties we create a field, a getter and a setter
+ Property : {
+ val field = f.toField(f.name, f.type)
+ members += field
+ members += f.toGetter(f.name, f.type)
+ members += f.toSetter(f.name, f.type)
+ }
+
+ // operations are mapped to methods
+ Operation : {
+ members += f.toMethod(f.name, f.type ?: inferredType) [
+ documentation = f.documentation
+ for (p : f.params) {
+ parameters += p.toParameter(p.name, p.parameterType)
+ }
+ // here the body is implemented using a user expression.
+ // Note that by doing this we set the expression into the context of this method,
+ // The parameters, 'this' and all the members of this method will be visible for the expression.
+ body = f.body
+ ]
+ }
+ }
+ }
+
+ // remove created getters/setters in case they
+ // are explicit in the source code
+ removeDuplicateGettersSetters
+
+ // finally we want to have a nice toString methods.
+ members += entity.toToStringMethod(it)
+ ]
+ }
+
+ def private removeDuplicateGettersSetters(JvmDeclaredType inferredType) {
+ inferredType.handleDuplicateJvmOperations[jvmOperations|
+ // we only remove getters/setters we created automatically
+ val getterOrSetter = jvmOperations.filter[primarySourceElement instanceof Property].head
+ if (getterOrSetter !== null) {
+ removeAllAssociation(getterOrSetter.returnType)
+ for (p : getterOrSetter.parameters) {
+ removeAllAssociation(p.parameterType)
+ removeAllAssociation(p)
+ }
+ removeAllAssociation(getterOrSetter)
+ inferredType.members.remove(getterOrSetter)
+ }
+ // other duplicated methods will be reported by the validator
+ ]
+ }
+}
\ No newline at end of file
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/scoping/DomainmodelScopeProvider.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/scoping/DomainmodelScopeProvider.java
new file mode 100644
index 00000000..e964f774
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/scoping/DomainmodelScopeProvider.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2011, 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.eclipse.xtext.example.domainmodel.scoping;
+
+
+/**
+ * This class contains custom scoping description.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
+ * on how and when to use it.
+ */
+public class DomainmodelScopeProvider extends AbstractDomainmodelScopeProvider {
+
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/serializer/DomainmodelSemanticSequencer.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/serializer/DomainmodelSemanticSequencer.java
new file mode 100644
index 00000000..7732b347
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/serializer/DomainmodelSemanticSequencer.java
@@ -0,0 +1,13 @@
+/**
+ * Copyright (c) 2011, 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.eclipse.xtext.example.domainmodel.serializer;
+
+
+public class DomainmodelSemanticSequencer extends AbstractDomainmodelSemanticSequencer {
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/serializer/DomainmodelSyntacticSequencer.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/serializer/DomainmodelSyntacticSequencer.java
new file mode 100644
index 00000000..54f68dd1
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/serializer/DomainmodelSyntacticSequencer.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright (c) 2011, 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.eclipse.xtext.example.domainmodel.serializer;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.nodemodel.INode;
+
+public class DomainmodelSyntacticSequencer extends AbstractDomainmodelSyntacticSequencer {
+ @Override
+ protected String getArrayBracketsToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if (node != null) {
+ return getTokenText(node);
+ }
+ return "[]";
+ }
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/validation/DomainmodelValidator.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/validation/DomainmodelValidator.java
new file mode 100644
index 00000000..51300f5c
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/validation/DomainmodelValidator.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2016, 2020 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.eclipse.xtext.example.domainmodel.validation;
+
+import org.eclipse.xtext.example.domainmodel.domainmodel.DomainmodelPackage;
+import org.eclipse.xtext.example.domainmodel.domainmodel.Entity;
+import org.eclipse.xtext.example.domainmodel.domainmodel.Feature;
+import org.eclipse.xtext.example.domainmodel.domainmodel.PackageDeclaration;
+import org.eclipse.xtext.util.Strings;
+import org.eclipse.xtext.validation.Check;
+import org.eclipse.xtext.validation.ComposedChecks;
+import org.eclipse.xtext.validation.ValidationMessageAcceptor;
+import org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator;
+
+/**
+ * This class contains custom validation rules.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
+ */
+@ComposedChecks(validators = JvmGenericTypeValidator.class)
+public class DomainmodelValidator extends AbstractDomainmodelValidator {
+ @Check
+ public void checkTypeNameStartsWithCapital(Entity entity) {
+ if (!Character.isUpperCase(entity.getName().charAt(0))) {
+ warning("Name should start with a capital", DomainmodelPackage.Literals.ABSTRACT_ELEMENT__NAME,
+ ValidationMessageAcceptor.INSIGNIFICANT_INDEX, IssueCodes.INVALID_TYPE_NAME, entity.getName());
+ }
+ }
+
+ @Check
+ public void checkFeatureNameStartsWithLowercase(Feature feature) {
+ if (!Character.isLowerCase(feature.getName().charAt(0))) {
+ warning("Name should start with a lowercase", DomainmodelPackage.Literals.FEATURE__NAME,
+ ValidationMessageAcceptor.INSIGNIFICANT_INDEX, IssueCodes.INVALID_FEATURE_NAME, feature.getName());
+ }
+ }
+
+ @Check
+ public void checkPackage(PackageDeclaration pack) {
+ if (Strings.isEmpty(pack.getName())) {
+ error("Name cannot be empty", DomainmodelPackage.Literals.ABSTRACT_ELEMENT__NAME);
+ }
+ if ("java".equals(pack.getName())) {
+ error("Invalid package name", DomainmodelPackage.Literals.ABSTRACT_ELEMENT__NAME);
+ }
+ }
+
+}
diff --git a/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/validation/IssueCodes.java b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/validation/IssueCodes.java
new file mode 100644
index 00000000..30d442d9
--- /dev/null
+++ b/domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel/src/org/eclipse/xtext/example/domainmodel/validation/IssueCodes.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2019 itemis AG (http://www.itemis.eu) and others.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.xtext.example.domainmodel.validation;
+
+/**
+ * @author Jan Koehnlein - Initial contribution and API
+ */
+public interface IssueCodes {
+
+ String PREFIX = "org.eclipse.xtext.example.domainmodel.domainmodel.";
+
+ String INVALID_TYPE_NAME = PREFIX + "InvalidTypeName";
+
+ String INVALID_FEATURE_NAME = PREFIX + "InvalidFeatureName";
+
+ String MISSING_TYPE = PREFIX + "MissingType";
+
+}
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/build.gradle b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/build.gradle
new file mode 100644
index 00000000..2147b65e
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/build.gradle
@@ -0,0 +1,40 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ gradlePluginPortal()
+ }
+ dependencies {
+ classpath 'org.xtext:xtext-gradle-plugin:4.0.0'
+ }
+}
+
+subprojects {
+ ext.xtextVersion = '2.38.0-SNAPSHOT'
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://oss.sonatype.org/content/repositories/snapshots'
+ }
+ }
+
+ apply plugin: 'java-library'
+ dependencies {
+ api platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
+ }
+
+ apply plugin: 'org.xtext.xtend'
+ apply from: "${rootDir}/gradle/source-layout.gradle"
+ apply plugin: 'eclipse'
+
+ group = 'org.xtext.example.mydsl'
+ version = '1.0.0-SNAPSHOT'
+
+ java {
+ sourceCompatibility = JavaVersion.VERSION_21
+ targetCompatibility = JavaVersion.VERSION_21
+ }
+
+ configurations.all {
+ exclude group: 'asm'
+ }
+}
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/source-layout.gradle b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/source-layout.gradle
new file mode 100644
index 00000000..8494c22a
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/source-layout.gradle
@@ -0,0 +1,30 @@
+sourceSets {
+ main {
+ java.srcDir 'src/main/xtext-gen'
+ resources.srcDir 'src/main/xtext-gen'
+ xtend.outputDir = 'src/main/xtend-gen'
+ }
+ test {
+ java.srcDir 'src/test/xtext-gen'
+ resources.srcDir 'src/test/xtext-gen'
+ xtend.outputDir = 'src/test/xtend-gen'
+ }
+}
+
+jar {
+ from('model') {
+ into('model')
+ }
+ from(sourceSets.main.allSource) {
+ include '**/*.xtext'
+ }
+ manifest {
+ attributes 'Bundle-SymbolicName': project.name
+ }
+}
+
+plugins.withId('war') {
+ war {
+ webAppDirectory = file("src/main/webapp")
+ }
+}
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.jar b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..a4b76b95
Binary files /dev/null and b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.properties b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..0aaefbca
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradlew b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradlew
new file mode 100755
index 00000000..9b87f38b
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradlew
@@ -0,0 +1,252 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
+' "$PWD" ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+ echo "$*"
+} >&2
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD=$JAVA_HOME/jre/sh/java
+ else
+ JAVACMD=$JAVA_HOME/bin/java
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
+ fi
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
+ done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ org.gradle.wrapper.GradleWrapperMain \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradlew.bat b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradlew.bat
new file mode 100644
index 00000000..9b42019c
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/gradlew.bat
@@ -0,0 +1,94 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl.ide/build.gradle b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl.ide/build.gradle
new file mode 100644
index 00000000..036578f5
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl.ide/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+ api project(':org.xtext.example.mydsl')
+ api "org.eclipse.xtext:org.eclipse.xtext.ide:${xtextVersion}"
+ api "org.eclipse.xtext:org.eclipse.xtext.xbase.ide:${xtextVersion}"
+}
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
new file mode 100644
index 00000000..5171ab6d
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/build.gradle b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/build.gradle
new file mode 100644
index 00000000..7d77372e
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/build.gradle
@@ -0,0 +1,40 @@
+dependencies {
+ testImplementation 'org.junit.jupiter:junit-jupiter-api'
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
+ testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
+ testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
+ testImplementation "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}"
+ api "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}"
+ api "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
+}
+configurations {
+ mwe2 {
+ extendsFrom compileClasspath
+ }
+}
+
+dependencies {
+ mwe2 'org.eclipse.emf:org.eclipse.emf.mwe2.launch'
+ mwe2 "org.eclipse.xtext:org.eclipse.xtext.common.types:${xtextVersion}"
+ mwe2 "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:${xtextVersion}"
+ mwe2 'org.eclipse.xtext:xtext-antlr-generator'
+}
+
+task generateXtextLanguage(type: JavaExec) {
+ mainClass = 'org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher'
+ classpath = configurations.mwe2
+ inputs.file "src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2"
+ inputs.file "src/main/java/org/xtext/example/mydsl/MyDsl.xtext"
+ outputs.dir "src/main/xtext-gen"
+ args += "src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2"
+ args += "-p"
+ args += "rootPath=/${projectDir}/.."
+}
+
+test {
+ useJUnitPlatform()
+}
+processResources.dependsOn(generateXtextLanguage)
+generateXtext.dependsOn(generateXtextLanguage)
+clean.dependsOn(cleanGenerateXtextLanguage)
+eclipse.classpath.plusConfigurations += [configurations.mwe2]
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
new file mode 100644
index 00000000..303e06bc
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
@@ -0,0 +1,54 @@
+module org.xtext.example.mydsl.GenerateMyDsl
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "org.xtext.example.mydsl"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ genericIde = {
+ enabled = true
+ }
+ mavenLayout = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "org.xtext.example.mydsl.MyDsl"
+ fileExtensions = "mydsl"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+
+ // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations
+ // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator"
+
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
new file mode 100644
index 00000000..046e9302
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
@@ -0,0 +1,9 @@
+grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
+
+generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/settings.gradle b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/settings.gradle
new file mode 100644
index 00000000..93055a16
--- /dev/null
+++ b/greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent/settings.gradle
@@ -0,0 +1,2 @@
+include 'org.xtext.example.mydsl'
+include 'org.xtext.example.mydsl.ide'
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/build.gradle b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/build.gradle
new file mode 100644
index 00000000..4341131b
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/build.gradle
@@ -0,0 +1,40 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ gradlePluginPortal()
+ }
+ dependencies {
+ classpath 'org.xtext:xtext-gradle-plugin:4.0.0'
+ }
+}
+
+subprojects {
+ ext.xtextVersion = '2.38.0-SNAPSHOT'
+ repositories {
+ mavenCentral()
+ maven {
+ url 'https://oss.sonatype.org/content/repositories/snapshots'
+ }
+ }
+
+ apply plugin: 'java-library'
+ dependencies {
+ api platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
+ }
+
+ apply plugin: 'org.xtext.xtend'
+ apply from: "${rootDir}/gradle/source-layout.gradle"
+ apply plugin: 'eclipse'
+
+ group = 'org.xtext.example.mydsl'
+ version = '1.0.0-SNAPSHOT'
+
+ java {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+
+ configurations.all {
+ exclude group: 'asm'
+ }
+}
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/source-layout.gradle b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/source-layout.gradle
new file mode 100644
index 00000000..8494c22a
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/source-layout.gradle
@@ -0,0 +1,30 @@
+sourceSets {
+ main {
+ java.srcDir 'src/main/xtext-gen'
+ resources.srcDir 'src/main/xtext-gen'
+ xtend.outputDir = 'src/main/xtend-gen'
+ }
+ test {
+ java.srcDir 'src/test/xtext-gen'
+ resources.srcDir 'src/test/xtext-gen'
+ xtend.outputDir = 'src/test/xtend-gen'
+ }
+}
+
+jar {
+ from('model') {
+ into('model')
+ }
+ from(sourceSets.main.allSource) {
+ include '**/*.xtext'
+ }
+ manifest {
+ attributes 'Bundle-SymbolicName': project.name
+ }
+}
+
+plugins.withId('war') {
+ war {
+ webAppDirectory = file("src/main/webapp")
+ }
+}
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.jar b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..a4b76b95
Binary files /dev/null and b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.properties b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..0aaefbca
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradlew b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradlew
new file mode 100755
index 00000000..9b87f38b
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradlew
@@ -0,0 +1,252 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
+' "$PWD" ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+ echo "$*"
+} >&2
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD=$JAVA_HOME/jre/sh/java
+ else
+ JAVACMD=$JAVA_HOME/bin/java
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
+ fi
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
+ done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ org.gradle.wrapper.GradleWrapperMain \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradlew.bat b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradlew.bat
new file mode 100644
index 00000000..9b42019c
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/gradlew.bat
@@ -0,0 +1,94 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl.ide/build.gradle b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl.ide/build.gradle
new file mode 100644
index 00000000..036578f5
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl.ide/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+ api project(':org.xtext.example.mydsl')
+ api "org.eclipse.xtext:org.eclipse.xtext.ide:${xtextVersion}"
+ api "org.eclipse.xtext:org.eclipse.xtext.xbase.ide:${xtextVersion}"
+}
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
new file mode 100644
index 00000000..5171ab6d
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/build.gradle b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/build.gradle
new file mode 100644
index 00000000..7d77372e
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/build.gradle
@@ -0,0 +1,40 @@
+dependencies {
+ testImplementation 'org.junit.jupiter:junit-jupiter-api'
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
+ testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
+ testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
+ testImplementation "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}"
+ api "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}"
+ api "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
+}
+configurations {
+ mwe2 {
+ extendsFrom compileClasspath
+ }
+}
+
+dependencies {
+ mwe2 'org.eclipse.emf:org.eclipse.emf.mwe2.launch'
+ mwe2 "org.eclipse.xtext:org.eclipse.xtext.common.types:${xtextVersion}"
+ mwe2 "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:${xtextVersion}"
+ mwe2 'org.eclipse.xtext:xtext-antlr-generator'
+}
+
+task generateXtextLanguage(type: JavaExec) {
+ mainClass = 'org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher'
+ classpath = configurations.mwe2
+ inputs.file "src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2"
+ inputs.file "src/main/java/org/xtext/example/mydsl/MyDsl.xtext"
+ outputs.dir "src/main/xtext-gen"
+ args += "src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2"
+ args += "-p"
+ args += "rootPath=/${projectDir}/.."
+}
+
+test {
+ useJUnitPlatform()
+}
+processResources.dependsOn(generateXtextLanguage)
+generateXtext.dependsOn(generateXtextLanguage)
+clean.dependsOn(cleanGenerateXtextLanguage)
+eclipse.classpath.plusConfigurations += [configurations.mwe2]
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
new file mode 100644
index 00000000..303e06bc
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
@@ -0,0 +1,54 @@
+module org.xtext.example.mydsl.GenerateMyDsl
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "org.xtext.example.mydsl"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ genericIde = {
+ enabled = true
+ }
+ mavenLayout = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "org.xtext.example.mydsl.MyDsl"
+ fileExtensions = "mydsl"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+
+ // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations
+ // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator"
+
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
new file mode 100644
index 00000000..046e9302
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
@@ -0,0 +1,9 @@
+grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
+
+generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/settings.gradle b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/settings.gradle
new file mode 100644
index 00000000..93055a16
--- /dev/null
+++ b/greetings-gradle/2.38.0/org.xtext.example.mydsl.parent/settings.gradle
@@ -0,0 +1,2 @@
+include 'org.xtext.example.mydsl'
+include 'org.xtext.example.mydsl.ide'
diff --git a/greetings-maven/2.38.0-J21/org.xtext.example.mydsl.ide/pom.xml b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl.ide/pom.xml
new file mode 100644
index 00000000..819ccd51
--- /dev/null
+++ b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl.ide/pom.xml
@@ -0,0 +1,69 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ide
+ jar
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 3.3.0
+
+
+
+ add-source
+ initialize
+
+ add-source
+ add-resource
+
+
+
+
+
+
+
+ src/main/xtext-gen
+
+ **/*.java
+ **/*.g
+
+
+
+
+
+
+
+
+
+
+
+
+ ${project.groupId}
+ org.xtext.example.mydsl
+ ${project.version}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.ide
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase.ide
+ ${xtextVersion}
+
+
+
diff --git a/greetings-maven/2.38.0-J21/org.xtext.example.mydsl.parent/pom.xml b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl.parent/pom.xml
new file mode 100644
index 00000000..ac8ea7ea
--- /dev/null
+++ b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl.parent/pom.xml
@@ -0,0 +1,153 @@
+
+ 4.0.0
+ org.xtext.example.mydsl
+ 1.0.0-SNAPSHOT
+ org.xtext.example.mydsl.parent
+ pom
+
+
+ 2.38.0-SNAPSHOT
+ UTF-8
+ 21
+ 21
+
+
+ ../org.xtext.example.mydsl
+ ../org.xtext.example.mydsl.ide
+
+
+
+
+ org.eclipse.xtext
+ xtext-dev-bom
+ ${xtextVersion}
+ pom
+ import
+
+
+
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+ ${xtextVersion}
+
+
+
+ compile
+ xtend-install-debug-info
+ testCompile
+ xtend-test-install-debug-info
+
+
+
+
+ ${basedir}/src/main/xtend-gen
+ ${basedir}/src/test/xtend-gen
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ 3.2.0
+
+
+
+ ${basedir}/src/main/xtend-gen
+
+ **/*
+
+
+
+ ${basedir}/src/test/xtend-gen
+
+ **/*
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0
+
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ macos
+
+
+ mac
+
+
+
+
+ -XstartOnFirstThread
+
+
+
+ jdk9-or-newer
+
+ [9,)
+
+
+ --add-modules=ALL-SYSTEM
+
+
+
+
+
+
+
diff --git a/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
new file mode 100644
index 00000000..e5476bc3
--- /dev/null
+++ b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/jar-with-ecore-model.xml b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/jar-with-ecore-model.xml
new file mode 100644
index 00000000..af5b4f61
--- /dev/null
+++ b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/jar-with-ecore-model.xml
@@ -0,0 +1,19 @@
+
+ jar-with-ecore-model
+
+ jar
+
+ false
+
+
+ /
+ target/classes
+
+
+ model/generated
+ model/generated
+
+
+
diff --git a/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/pom.xml b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/pom.xml
new file mode 100644
index 00000000..b380f38b
--- /dev/null
+++ b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/pom.xml
@@ -0,0 +1,198 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl
+ jar
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.0.0
+
+
+
+ mwe2Launcher
+ generate-sources
+
+ java
+
+
+
+
+ org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher
+
+ /${project.basedir}/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
+ -p
+ rootPath=/${project.basedir}/..
+
+ compile
+ true
+ false
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+ ${basedir}/../org.xtext.example.mydsl/src/main/xtext-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl/src/test/xtext-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ide/src/main/xtext-gen/
+
+ **/*
+
+
+
+ ${basedir}/model/generated/
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 3.3.0
+
+
+
+ add-source
+ initialize
+
+ add-source
+ add-resource
+
+
+
+
+
+
+
+ src/main/xtext-gen
+
+ **/*.java
+ **/*.g
+
+
+
+
+
+
+ add-test-source
+ initialize
+
+ add-test-source
+ add-test-resource
+
+
+
+
+
+
+
+ src/test/xtext-gen
+
+ **/*.java
+
+
+
+
+
+
+
+
+ maven-assembly-plugin
+ 3.4.1
+
+
+ jar-with-ecore-model.xml
+
+ false
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.testing
+ ${xtextVersion}
+ test
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase.testing
+ ${xtextVersion}
+ test
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xtext.generator
+ ${xtextVersion}
+ true
+
+
+ org.eclipse.emf
+ org.eclipse.emf.mwe2.launch
+ true
+
+
+ org.eclipse.xtext
+ xtext-antlr-generator
+ true
+
+
+
diff --git a/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
new file mode 100644
index 00000000..303e06bc
--- /dev/null
+++ b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
@@ -0,0 +1,54 @@
+module org.xtext.example.mydsl.GenerateMyDsl
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "org.xtext.example.mydsl"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ genericIde = {
+ enabled = true
+ }
+ mavenLayout = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "org.xtext.example.mydsl.MyDsl"
+ fileExtensions = "mydsl"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+
+ // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations
+ // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator"
+
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
new file mode 100644
index 00000000..046e9302
--- /dev/null
+++ b/greetings-maven/2.38.0-J21/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
@@ -0,0 +1,9 @@
+grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
+
+generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/greetings-maven/2.38.0/org.xtext.example.mydsl.ide/pom.xml b/greetings-maven/2.38.0/org.xtext.example.mydsl.ide/pom.xml
new file mode 100644
index 00000000..819ccd51
--- /dev/null
+++ b/greetings-maven/2.38.0/org.xtext.example.mydsl.ide/pom.xml
@@ -0,0 +1,69 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ide
+ jar
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 3.3.0
+
+
+
+ add-source
+ initialize
+
+ add-source
+ add-resource
+
+
+
+
+
+
+
+ src/main/xtext-gen
+
+ **/*.java
+ **/*.g
+
+
+
+
+
+
+
+
+
+
+
+
+ ${project.groupId}
+ org.xtext.example.mydsl
+ ${project.version}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.ide
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase.ide
+ ${xtextVersion}
+
+
+
diff --git a/greetings-maven/2.38.0/org.xtext.example.mydsl.parent/pom.xml b/greetings-maven/2.38.0/org.xtext.example.mydsl.parent/pom.xml
new file mode 100644
index 00000000..46ce8d15
--- /dev/null
+++ b/greetings-maven/2.38.0/org.xtext.example.mydsl.parent/pom.xml
@@ -0,0 +1,153 @@
+
+ 4.0.0
+ org.xtext.example.mydsl
+ 1.0.0-SNAPSHOT
+ org.xtext.example.mydsl.parent
+ pom
+
+
+ 2.38.0-SNAPSHOT
+ UTF-8
+ 17
+ 17
+
+
+ ../org.xtext.example.mydsl
+ ../org.xtext.example.mydsl.ide
+
+
+
+
+ org.eclipse.xtext
+ xtext-dev-bom
+ ${xtextVersion}
+ pom
+ import
+
+
+
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+ ${xtextVersion}
+
+
+
+ compile
+ xtend-install-debug-info
+ testCompile
+ xtend-test-install-debug-info
+
+
+
+
+ ${basedir}/src/main/xtend-gen
+ ${basedir}/src/test/xtend-gen
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ 3.2.0
+
+
+
+ ${basedir}/src/main/xtend-gen
+
+ **/*
+
+
+
+ ${basedir}/src/test/xtend-gen
+
+ **/*
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0
+
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ macos
+
+
+ mac
+
+
+
+
+ -XstartOnFirstThread
+
+
+
+ jdk9-or-newer
+
+ [9,)
+
+
+ --add-modules=ALL-SYSTEM
+
+
+
+
+
+
+
diff --git a/greetings-maven/2.38.0/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch b/greetings-maven/2.38.0/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
new file mode 100644
index 00000000..e5476bc3
--- /dev/null
+++ b/greetings-maven/2.38.0/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-maven/2.38.0/org.xtext.example.mydsl/jar-with-ecore-model.xml b/greetings-maven/2.38.0/org.xtext.example.mydsl/jar-with-ecore-model.xml
new file mode 100644
index 00000000..af5b4f61
--- /dev/null
+++ b/greetings-maven/2.38.0/org.xtext.example.mydsl/jar-with-ecore-model.xml
@@ -0,0 +1,19 @@
+
+ jar-with-ecore-model
+
+ jar
+
+ false
+
+
+ /
+ target/classes
+
+
+ model/generated
+ model/generated
+
+
+
diff --git a/greetings-maven/2.38.0/org.xtext.example.mydsl/pom.xml b/greetings-maven/2.38.0/org.xtext.example.mydsl/pom.xml
new file mode 100644
index 00000000..b380f38b
--- /dev/null
+++ b/greetings-maven/2.38.0/org.xtext.example.mydsl/pom.xml
@@ -0,0 +1,198 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl
+ jar
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.0.0
+
+
+
+ mwe2Launcher
+ generate-sources
+
+ java
+
+
+
+
+ org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher
+
+ /${project.basedir}/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
+ -p
+ rootPath=/${project.basedir}/..
+
+ compile
+ true
+ false
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+ ${basedir}/../org.xtext.example.mydsl/src/main/xtext-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl/src/test/xtext-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ide/src/main/xtext-gen/
+
+ **/*
+
+
+
+ ${basedir}/model/generated/
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 3.3.0
+
+
+
+ add-source
+ initialize
+
+ add-source
+ add-resource
+
+
+
+
+
+
+
+ src/main/xtext-gen
+
+ **/*.java
+ **/*.g
+
+
+
+
+
+
+ add-test-source
+ initialize
+
+ add-test-source
+ add-test-resource
+
+
+
+
+
+
+
+ src/test/xtext-gen
+
+ **/*.java
+
+
+
+
+
+
+
+
+ maven-assembly-plugin
+ 3.4.1
+
+
+ jar-with-ecore-model.xml
+
+ false
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.testing
+ ${xtextVersion}
+ test
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase.testing
+ ${xtextVersion}
+ test
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xtext.generator
+ ${xtextVersion}
+ true
+
+
+ org.eclipse.emf
+ org.eclipse.emf.mwe2.launch
+ true
+
+
+ org.eclipse.xtext
+ xtext-antlr-generator
+ true
+
+
+
diff --git a/greetings-maven/2.38.0/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/greetings-maven/2.38.0/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
new file mode 100644
index 00000000..303e06bc
--- /dev/null
+++ b/greetings-maven/2.38.0/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/GenerateMyDsl.mwe2
@@ -0,0 +1,54 @@
+module org.xtext.example.mydsl.GenerateMyDsl
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "org.xtext.example.mydsl"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ genericIde = {
+ enabled = true
+ }
+ mavenLayout = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "org.xtext.example.mydsl.MyDsl"
+ fileExtensions = "mydsl"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+
+ // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations
+ // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator"
+
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/greetings-maven/2.38.0/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext b/greetings-maven/2.38.0/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
new file mode 100644
index 00000000..046e9302
--- /dev/null
+++ b/greetings-maven/2.38.0/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/MyDsl.xtext
@@ -0,0 +1,9 @@
+grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
+
+generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/build.properties b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/build.properties
new file mode 100644
index 00000000..64f93a9f
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/feature.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/feature.xml
new file mode 100644
index 00000000..d29075a9
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/feature.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/pom.xml
new file mode 100644
index 00000000..a115cf7c
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.feature/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.feature
+ eclipse-feature
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..a0b62680
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.ide
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.ide; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl,
+ org.eclipse.xtext.ide,
+ org.eclipse.xtext.xbase.ide
+Bundle-RequiredExecutionEnvironment: JavaSE-21
+Automatic-Module-Name: org.xtext.example.mydsl.ide
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/build.properties b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/build.properties
new file mode 100644
index 00000000..5c6bbf99
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/pom.xml
new file mode 100644
index 00000000..3006199f
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ide/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ide
+ eclipse-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.parent/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.parent/pom.xml
new file mode 100644
index 00000000..9400b263
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.parent/pom.xml
@@ -0,0 +1,321 @@
+
+ 4.0.0
+ org.xtext.example.mydsl
+ 1.0.0-SNAPSHOT
+ org.xtext.example.mydsl.parent
+ pom
+
+
+ 2.38.0-SNAPSHOT
+ 2.20.0
+ UTF-8
+ 21
+ 21
+
+ 4.0.9
+
+
+
+
+
+
+
+ ../org.xtext.example.mydsl
+ ../org.xtext.example.mydsl.ide
+ ../org.xtext.example.mydsl.ui
+ ../org.xtext.example.mydsl.target
+ ../org.xtext.example.mydsl.feature
+ ../org.xtext.example.mydsl.repository
+ ../org.xtext.example.mydsl.tests
+ ../org.xtext.example.mydsl.ui.tests
+
+
+
+
+ org.eclipse.xtext
+ xtext-dev-bom
+ ${xtextVersion}
+ pom
+ import
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-maven-plugin
+ ${tycho-version}
+ true
+
+
+ org.eclipse.tycho
+ tycho-source-plugin
+ ${tycho-version}
+
+
+ plugin-source
+
+ plugin-source
+
+
+
+ feature-source
+
+ feature-source
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-p2-plugin
+ ${tycho-version}
+
+
+ attach-p2-metadata
+ package
+
+ p2-metadata
+
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.target
+ ${project.version}
+
+
+
+
+ macosx
+ cocoa
+ x86_64
+
+
+ win32
+ win32
+ x86_64
+
+
+ linux
+ gtk
+ x86_64
+
+
+
+
+
+ eclipse-plugin
+ org.eclipse.xtext.logging
+ 0.0.0
+
+
+
+ eclipse-feature
+ org.eclipse.rcp
+ 0.0.0
+
+
+
+
+
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+ ${xtextVersion}
+
+
+
+ compile
+ xtend-install-debug-info
+ testCompile
+ xtend-test-install-debug-info
+
+
+
+
+ ${basedir}/xtend-gen
+ ${basedir}/xtend-gen
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ 3.2.0
+
+
+
+ ${basedir}/xtend-gen
+
+ **/*
+
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-compiler-plugin
+ ${tycho-version}
+
+ -err:-forbidden
+ false
+
+
+
+
+ org.eclipse.tycho
+ tycho-surefire-plugin
+ ${tycho-version}
+
+
+ ${platformSystemProperties} ${systemProperties} ${moduleProperties} ${additionalTestArguments}
+ false
+ false
+
+
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+
+ ossrh-snapshots
+ ossrh-snapshots
+
+ false
+
+
+ false
+
+ http://oss.sonatype.org/content/repositories/snapshots
+
+
+
+ sonatype-nexus-snapshots
+ Sonatype Nexus Snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+ ossrh-snapshots
+ ossrh-snapshots
+
+ false
+
+
+ false
+
+ http://oss.sonatype.org/content/repositories/snapshots
+
+
+ sonatype-nexus-snapshots
+ Sonatype Nexus Snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ macos
+
+
+ mac
+
+
+
+
+ -XstartOnFirstThread
+
+
+
+ jdk9-or-newer
+
+ [9,)
+
+
+ --add-modules=ALL-SYSTEM
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.repository/category.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.repository/category.xml
new file mode 100644
index 00000000..b4de8e29
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.repository/category.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.repository/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.repository/pom.xml
new file mode 100644
index 00000000..0ff3e3c6
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.repository/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.repository
+ eclipse-repository
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.target/org.xtext.example.mydsl.target.target b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.target/org.xtext.example.mydsl.target.target
new file mode 100644
index 00000000..0106c415
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.target/org.xtext.example.mydsl.target.target
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.target/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.target/pom.xml
new file mode 100644
index 00000000..8e941271
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.target/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.target
+ eclipse-target-definition
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..d0d4033d
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl,
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.xbase.testing
+Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
+ org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-21
+Automatic-Module-Name: org.xtext.example.mydsl.tests
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/build.properties b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/build.properties
new file mode 100644
index 00000000..5c6bbf99
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/pom.xml
new file mode 100644
index 00000000..7481d188
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.tests/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.tests
+ eclipse-test-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..a165f03c
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.ui.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.ui.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl.ui,
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.ui.testing,
+ org.eclipse.xtext.xbase.testing,
+ org.eclipse.xtext.xbase.ui.testing
+Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
+ org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-21
+Automatic-Module-Name: org.xtext.example.mydsl.ui.tests
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/build.properties b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/build.properties
new file mode 100644
index 00000000..5c6bbf99
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/pom.xml
new file mode 100644
index 00000000..1fa00fa5
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui.tests/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ui.tests
+ eclipse-test-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+ org.eclipse.tycho
+ tycho-surefire-plugin
+
+ true
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..43dd568e
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl,
+ org.xtext.example.mydsl.ide,
+ org.eclipse.xtext.ui,
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.ui.editors;bundle-version="3.14.300",
+ org.eclipse.ui.ide;bundle-version="3.18.500"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-21
+Automatic-Module-Name: org.xtext.example.mydsl.ui
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/build.properties b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/build.properties
new file mode 100644
index 00000000..323f56c5
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/pom.xml
new file mode 100644
index 00000000..3e389e21
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl.ui/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ui
+ eclipse-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
new file mode 100644
index 00000000..93ecaac1
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch
new file mode 100644
index 00000000..71479e96
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..155b6c89
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext,
+ org.eclipse.xtext.xbase,
+ org.eclipse.equinox.common;bundle-version="3.19.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-21
+Automatic-Module-Name: org.xtext.example.mydsl
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/build.properties b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/build.properties
new file mode 100644
index 00000000..8fa43cc6
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.mwe2,\
+ **/*.xtend
+additional.bundles = org.eclipse.xtext.xtext.generator.dependencies
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/pom.xml b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/pom.xml
new file mode 100644
index 00000000..4e396bb2
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/pom.xml
@@ -0,0 +1,97 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl
+ eclipse-plugin
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.0.0
+
+
+
+ mwe2Launcher
+ generate-sources
+
+ java
+
+
+
+
+ org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher
+
+ /${project.basedir}/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
+ -p
+ rootPath=/${project.basedir}/..
+
+ compile
+ true
+ false
+
+
+
+ org.eclipse.xtext
+ xtext-antlr-generator
+ 2.1.1
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+ ${basedir}/../org.xtext.example.mydsl/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ide/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ui/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ui.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/model/generated/
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
new file mode 100644
index 00000000..42725c85
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
@@ -0,0 +1,57 @@
+module org.xtext.example.mydsl.GenerateMyDsl
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "org.xtext.example.mydsl"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = true
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "org.xtext.example.mydsl.MyDsl"
+ fileExtensions = "mydsl"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+
+ // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations
+ // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator"
+
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext
new file mode 100644
index 00000000..046e9302
--- /dev/null
+++ b/greetings-tycho/2.38.0-J21/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext
@@ -0,0 +1,9 @@
+grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
+
+generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/build.properties b/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/build.properties
new file mode 100644
index 00000000..64f93a9f
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/feature.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/feature.xml
new file mode 100644
index 00000000..d29075a9
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/feature.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/pom.xml
new file mode 100644
index 00000000..a115cf7c
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.feature/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.feature
+ eclipse-feature
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..8d6d10b8
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.ide
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.ide; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl,
+ org.eclipse.xtext.ide,
+ org.eclipse.xtext.xbase.ide
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Automatic-Module-Name: org.xtext.example.mydsl.ide
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/build.properties b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/build.properties
new file mode 100644
index 00000000..5c6bbf99
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/pom.xml
new file mode 100644
index 00000000..3006199f
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ide/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ide
+ eclipse-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.parent/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.parent/pom.xml
new file mode 100644
index 00000000..0c6088b7
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.parent/pom.xml
@@ -0,0 +1,321 @@
+
+ 4.0.0
+ org.xtext.example.mydsl
+ 1.0.0-SNAPSHOT
+ org.xtext.example.mydsl.parent
+ pom
+
+
+ 2.38.0-SNAPSHOT
+ 2.20.0
+ UTF-8
+ 17
+ 17
+
+ 4.0.9
+
+
+
+
+
+
+
+ ../org.xtext.example.mydsl
+ ../org.xtext.example.mydsl.ide
+ ../org.xtext.example.mydsl.ui
+ ../org.xtext.example.mydsl.target
+ ../org.xtext.example.mydsl.feature
+ ../org.xtext.example.mydsl.repository
+ ../org.xtext.example.mydsl.tests
+ ../org.xtext.example.mydsl.ui.tests
+
+
+
+
+ org.eclipse.xtext
+ xtext-dev-bom
+ ${xtextVersion}
+ pom
+ import
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-maven-plugin
+ ${tycho-version}
+ true
+
+
+ org.eclipse.tycho
+ tycho-source-plugin
+ ${tycho-version}
+
+
+ plugin-source
+
+ plugin-source
+
+
+
+ feature-source
+
+ feature-source
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-p2-plugin
+ ${tycho-version}
+
+
+ attach-p2-metadata
+ package
+
+ p2-metadata
+
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.target
+ ${project.version}
+
+
+
+
+ macosx
+ cocoa
+ x86_64
+
+
+ win32
+ win32
+ x86_64
+
+
+ linux
+ gtk
+ x86_64
+
+
+
+
+
+ eclipse-plugin
+ org.eclipse.xtext.logging
+ 0.0.0
+
+
+
+ eclipse-feature
+ org.eclipse.rcp
+ 0.0.0
+
+
+
+
+
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+ ${xtextVersion}
+
+
+
+ compile
+ xtend-install-debug-info
+ testCompile
+ xtend-test-install-debug-info
+
+
+
+
+ ${basedir}/xtend-gen
+ ${basedir}/xtend-gen
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ 3.2.0
+
+
+
+ ${basedir}/xtend-gen
+
+ **/*
+
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-compiler-plugin
+ ${tycho-version}
+
+ -err:-forbidden
+ false
+
+
+
+
+ org.eclipse.tycho
+ tycho-surefire-plugin
+ ${tycho-version}
+
+
+ ${platformSystemProperties} ${systemProperties} ${moduleProperties} ${additionalTestArguments}
+ false
+ false
+
+
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+
+ ossrh-snapshots
+ ossrh-snapshots
+
+ false
+
+
+ false
+
+ http://oss.sonatype.org/content/repositories/snapshots
+
+
+
+ sonatype-nexus-snapshots
+ Sonatype Nexus Snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+ ossrh-snapshots
+ ossrh-snapshots
+
+ false
+
+
+ false
+
+ http://oss.sonatype.org/content/repositories/snapshots
+
+
+ sonatype-nexus-snapshots
+ Sonatype Nexus Snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ false
+
+
+
+ sonatype-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ false
+
+
+ true
+
+
+
+
+
+ macos
+
+
+ mac
+
+
+
+
+ -XstartOnFirstThread
+
+
+
+ jdk9-or-newer
+
+ [9,)
+
+
+ --add-modules=ALL-SYSTEM
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.repository/category.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.repository/category.xml
new file mode 100644
index 00000000..b4de8e29
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.repository/category.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.repository/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.repository/pom.xml
new file mode 100644
index 00000000..0ff3e3c6
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.repository/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.repository
+ eclipse-repository
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.target/org.xtext.example.mydsl.target.target b/greetings-tycho/2.38.0/org.xtext.example.mydsl.target/org.xtext.example.mydsl.target.target
new file mode 100644
index 00000000..0106c415
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.target/org.xtext.example.mydsl.target.target
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.target/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.target/pom.xml
new file mode 100644
index 00000000..8e941271
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.target/pom.xml
@@ -0,0 +1,16 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.target
+ eclipse-target-definition
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..e750a3b9
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl,
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.xbase.testing
+Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
+ org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Automatic-Module-Name: org.xtext.example.mydsl.tests
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/build.properties b/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/build.properties
new file mode 100644
index 00000000..5c6bbf99
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/pom.xml
new file mode 100644
index 00000000..7481d188
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.tests/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.tests
+ eclipse-test-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..b3caa66f
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.ui.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.ui.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl.ui,
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.ui.testing,
+ org.eclipse.xtext.xbase.testing,
+ org.eclipse.xtext.xbase.ui.testing
+Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
+ org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Automatic-Module-Name: org.xtext.example.mydsl.ui.tests
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/build.properties b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/build.properties
new file mode 100644
index 00000000..5c6bbf99
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/pom.xml
new file mode 100644
index 00000000..1fa00fa5
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui.tests/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ui.tests
+ eclipse-test-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+ org.eclipse.tycho
+ tycho-surefire-plugin
+
+ true
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..f8773b47
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mydsl,
+ org.xtext.example.mydsl.ide,
+ org.eclipse.xtext.ui,
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.ui.editors;bundle-version="3.14.300",
+ org.eclipse.ui.ide;bundle-version="3.18.500"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Automatic-Module-Name: org.xtext.example.mydsl.ui
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/build.properties b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/build.properties
new file mode 100644
index 00000000..323f56c5
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.xtend
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/pom.xml
new file mode 100644
index 00000000..3e389e21
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl.ui/pom.xml
@@ -0,0 +1,22 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl.ui
+ eclipse-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch b/greetings-tycho/2.38.0/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
new file mode 100644
index 00000000..93ecaac1
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch b/greetings-tycho/2.38.0/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch
new file mode 100644
index 00000000..264f2fa3
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl/.launch/Launch Runtime Eclipse.launch
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl/META-INF/MANIFEST.MF b/greetings-tycho/2.38.0/org.xtext.example.mydsl/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..9a966bae
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mydsl
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mydsl; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext,
+ org.eclipse.xtext.xbase,
+ org.eclipse.equinox.common;bundle-version="3.19.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Automatic-Module-Name: org.xtext.example.mydsl
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl/build.properties b/greetings-tycho/2.38.0/org.xtext.example.mydsl/build.properties
new file mode 100644
index 00000000..8fa43cc6
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.mwe2,\
+ **/*.xtend
+additional.bundles = org.eclipse.xtext.xtext.generator.dependencies
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl/pom.xml b/greetings-tycho/2.38.0/org.xtext.example.mydsl/pom.xml
new file mode 100644
index 00000000..4e396bb2
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl/pom.xml
@@ -0,0 +1,97 @@
+
+ 4.0.0
+
+ org.xtext.example.mydsl
+ org.xtext.example.mydsl.parent
+ 1.0.0-SNAPSHOT
+ ../org.xtext.example.mydsl.parent/pom.xml
+
+ org.xtext.example.mydsl
+ eclipse-plugin
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 3.0.0
+
+
+
+ mwe2Launcher
+ generate-sources
+
+ java
+
+
+
+
+ org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher
+
+ /${project.basedir}/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
+ -p
+ rootPath=/${project.basedir}/..
+
+ compile
+ true
+ false
+
+
+
+ org.eclipse.xtext
+ xtext-antlr-generator
+ 2.1.1
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+ ${basedir}/../org.xtext.example.mydsl/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ide/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ui/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mydsl.ui.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/model/generated/
+
+
+
+
+
+
+
+
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/greetings-tycho/2.38.0/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
new file mode 100644
index 00000000..42725c85
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
@@ -0,0 +1,57 @@
+module org.xtext.example.mydsl.GenerateMyDsl
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "org.xtext.example.mydsl"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = true
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "org.xtext.example.mydsl.MyDsl"
+ fileExtensions = "mydsl"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+
+ // Enables several checks on the inferred Jvm model for Xbase languages concerning Java inheritance relations
+ // composedCheck = "org.eclipse.xtext.xbase.validation.JvmGenericTypeValidator"
+
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/greetings-tycho/2.38.0/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext b/greetings-tycho/2.38.0/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext
new file mode 100644
index 00000000..046e9302
--- /dev/null
+++ b/greetings-tycho/2.38.0/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext
@@ -0,0 +1,9 @@
+grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
+
+generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/integrationtests/org.eclipse.xtext.integrationtests.target/org.eclipse.xtext.integrationtests.target.target b/integrationtests/org.eclipse.xtext.integrationtests.target/org.eclipse.xtext.integrationtests.target.target
index 68cf5556..d30cc92e 100644
--- a/integrationtests/org.eclipse.xtext.integrationtests.target/org.eclipse.xtext.integrationtests.target.target
+++ b/integrationtests/org.eclipse.xtext.integrationtests.target/org.eclipse.xtext.integrationtests.target.target
@@ -67,7 +67,7 @@
-
+
diff --git a/integrationtests/org.eclipse.xtext.swtbot.testing/.classpath b/integrationtests/org.eclipse.xtext.swtbot.testing/.classpath
index ca3785c4..b6ada080 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.testing/.classpath
+++ b/integrationtests/org.eclipse.xtext.swtbot.testing/.classpath
@@ -1,6 +1,6 @@
-
+
diff --git a/integrationtests/org.eclipse.xtext.swtbot.testing/.settings/org.eclipse.jdt.core.prefs b/integrationtests/org.eclipse.xtext.swtbot.testing/.settings/org.eclipse.jdt.core.prefs
index 9256ee41..a8f77fa1 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.testing/.settings/org.eclipse.jdt.core.prefs
+++ b/integrationtests/org.eclipse.xtext.swtbot.testing/.settings/org.eclipse.jdt.core.prefs
@@ -23,9 +23,9 @@ org.eclipse.jdt.core.compiler.annotation.nonnullisdefault=disabled
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -123,7 +123,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disa
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=11
+org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
diff --git a/integrationtests/org.eclipse.xtext.swtbot.testing/META-INF/MANIFEST.MF b/integrationtests/org.eclipse.xtext.swtbot.testing/META-INF/MANIFEST.MF
index d5820c3b..8b3fa92f 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.testing/META-INF/MANIFEST.MF
+++ b/integrationtests/org.eclipse.xtext.swtbot.testing/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: Xtext SWTBot Testing
Bundle-SymbolicName: org.eclipse.xtext.swtbot.testing
Bundle-Version: 1.0.0.qualifier
Automatic-Module-Name: org.eclipse.ui.swtbot.testing
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Import-Package: org.junit;version="4.13.2",
org.junit.rules;version="4.13.2",
org.junit.runner;version="4.13.2",
diff --git a/integrationtests/org.eclipse.xtext.swtbot.testing/src/org/eclipse/xtext/swtbot/testing/api/NewProjectWizardAPI.java b/integrationtests/org.eclipse.xtext.swtbot.testing/src/org/eclipse/xtext/swtbot/testing/api/NewProjectWizardAPI.java
index 22607283..f186075b 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.testing/src/org/eclipse/xtext/swtbot/testing/api/NewProjectWizardAPI.java
+++ b/integrationtests/org.eclipse.xtext.swtbot.testing/src/org/eclipse/xtext/swtbot/testing/api/NewProjectWizardAPI.java
@@ -85,9 +85,9 @@ public NewXtextProjectWizardConfigurationPageAPI next() {
return new NewXtextProjectWizardConfigurationPageAPI(shell);
}
- public NewXtextProjectWizardMainPageAPI selectJava11() {
- System.out.println("Select Java 11");
- shell.bot().comboBox().setSelection("JavaSE-11");
+ public NewXtextProjectWizardMainPageAPI selectJava17() {
+ System.out.println("Select Java 17");
+ shell.bot().comboBox().setSelection("JavaSE-17");
return this;
}
diff --git a/integrationtests/org.eclipse.xtext.swtbot.tests/.classpath b/integrationtests/org.eclipse.xtext.swtbot.tests/.classpath
index 74984163..0cbb3231 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.tests/.classpath
+++ b/integrationtests/org.eclipse.xtext.swtbot.tests/.classpath
@@ -1,6 +1,6 @@
-
+
diff --git a/integrationtests/org.eclipse.xtext.swtbot.tests/.settings/org.eclipse.jdt.core.prefs b/integrationtests/org.eclipse.xtext.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
index 9256ee41..a8f77fa1 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/integrationtests/org.eclipse.xtext.swtbot.tests/.settings/org.eclipse.jdt.core.prefs
@@ -23,9 +23,9 @@ org.eclipse.jdt.core.compiler.annotation.nonnullisdefault=disabled
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -123,7 +123,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disa
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=11
+org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
diff --git a/integrationtests/org.eclipse.xtext.swtbot.tests/META-INF/MANIFEST.MF b/integrationtests/org.eclipse.xtext.swtbot.tests/META-INF/MANIFEST.MF
index 90c73271..f17e759e 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.tests/META-INF/MANIFEST.MF
+++ b/integrationtests/org.eclipse.xtext.swtbot.tests/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: Xtext SWTBot Tests
Bundle-SymbolicName: org.eclipse.xtext.swtbot.tests
Bundle-Version: 1.0.0.qualifier
Automatic-Module-Name: org.eclipse.xtext.ui.swtbot.tests
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Import-Package: org.junit;version="4.13.2",
org.junit.rules;version="4.13.2",
org.junit.runner;version="4.13.2",
diff --git a/integrationtests/org.eclipse.xtext.swtbot.tests/src/org/eclipse/xtext/swtbot/tests/XtextNewProjectWizardTest.java b/integrationtests/org.eclipse.xtext.swtbot.tests/src/org/eclipse/xtext/swtbot/tests/XtextNewProjectWizardTest.java
index 00618611..1d63c6b7 100644
--- a/integrationtests/org.eclipse.xtext.swtbot.tests/src/org/eclipse/xtext/swtbot/tests/XtextNewProjectWizardTest.java
+++ b/integrationtests/org.eclipse.xtext.swtbot.tests/src/org/eclipse/xtext/swtbot/tests/XtextNewProjectWizardTest.java
@@ -61,7 +61,7 @@ public void simpleXtextProject() throws Exception {
System.out.println();
System.out.println("Starting Test 'simpleXtextProject'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().toggleGenericIdeSupport()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().toggleGenericIdeSupport()
.toggleTestingSupport().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -101,7 +101,7 @@ public void simpleXtextProject_withMaven() throws Exception {
System.out.println();
System.out.println("Starting Test 'simpleXtextProject_withMaven'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().toggleGenericIdeSupport()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().toggleGenericIdeSupport()
.toggleTestingSupport().setMavenBuildType().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -145,7 +145,7 @@ public void xtextProject_forEclipse() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_forEclipse'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleFeature().toggleUpdateSite()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleFeature().toggleUpdateSite()
.toggleTestingSupport().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -178,7 +178,7 @@ public void xtextProject_forEclipse_withTesting() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_forEclipse_withTesting'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().finish();
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -214,7 +214,7 @@ public void xtextProject_forEclipse_withTesting_withMaven() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_forEclipse_withTesting_withMaven'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleFeature().toggleUpdateSite().setMavenBuildType()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleFeature().toggleUpdateSite().setMavenBuildType()
.finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -253,7 +253,7 @@ public void xtextProject_forEclipse_withTesting_withGradle() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_forEclipse_withTesting_withGradle'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleUpdateSite().setGradleBuildType().finish();
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleUpdateSite().setGradleBuildType().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -293,7 +293,7 @@ public void xtextProject_webIntegration_withMaven_plain() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_webIntegration_withMaven_plain'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().toggleWebIntegration()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().toggleWebIntegration()
.setMavenBuildType().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -330,7 +330,7 @@ public void xtextProject_webIntegration_withMaven_nested() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_webIntegration_withMaven_nested'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().toggleWebIntegration()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().toggleWebIntegration()
.setMavenBuildType().setMavenSourceLayout().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -366,7 +366,7 @@ public void xtextProject_webIntegration_withGradle_plain() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_webIntegration_withGradle_plain'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().toggleWebIntegration()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().toggleWebIntegration()
.setGradleBuildType().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -397,7 +397,7 @@ public void xtextProject_webIntegration_withGradle_nested() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_webIntegration_withGradle_nested'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().toggleWebIntegration()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().toggleWebIntegration()
.setGradleBuildType().setMavenSourceLayout().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -427,7 +427,7 @@ public void xtextProject_webIntegration_withLSPRegular() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_webIntegration_withLSPRegular'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().setMavenBuildType()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().setMavenBuildType()
.setBuildLanguageServerRegular().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
@@ -459,7 +459,7 @@ public void xtextProject_webIntegration_withLSPFatJar() throws Exception {
System.out.println();
System.out.println("Starting Test 'xtextProject_webIntegration_withLSPFatJar'");
// create xtext project
- mainMenu().openNewProjectWizard().selectXtextProject().selectJava11().next().toggleEclipsePlugin().setMavenBuildType()
+ mainMenu().openNewProjectWizard().selectXtextProject().selectJava17().next().toggleEclipsePlugin().setMavenBuildType()
.setBuildLanguageServerFatJar().finish();
sleep(500); // wait for asynchronous updates
waitForBuild();
diff --git a/integrationtests/pom.xml b/integrationtests/pom.xml
index cde0efbc..06123b98 100644
--- a/integrationtests/pom.xml
+++ b/integrationtests/pom.xml
@@ -16,7 +16,7 @@
2.19.0
https://ci.eclipse.org/xtext/
- 2.7.5
+ 4.0.10
ISO-8859-1
ISO-8859-1
diff --git a/launch/all-refprojects.launch b/launch/all-refprojects.launch
index f4b36f12..c87c59b1 100644
--- a/launch/all-refprojects.launch
+++ b/launch/all-refprojects.launch
@@ -19,31 +19,16 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/launch/refproject-greetings-gradle-j11.launch b/launch/refproject-greetings-gradle-j11.launch
deleted file mode 100644
index b4b1d2f2..00000000
--- a/launch/refproject-greetings-gradle-j11.launch
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/launch/refproject-greetings-gradle-j21.launch b/launch/refproject-greetings-gradle-j21.launch
index d49f2dd2..d9436443 100644
--- a/launch/refproject-greetings-gradle-j21.launch
+++ b/launch/refproject-greetings-gradle-j21.launch
@@ -9,6 +9,6 @@
-
+
diff --git a/launch/refproject-greetings-gradle.launch b/launch/refproject-greetings-gradle.launch
index f252dbe8..b743ad01 100644
--- a/launch/refproject-greetings-gradle.launch
+++ b/launch/refproject-greetings-gradle.launch
@@ -9,6 +9,6 @@
-
+
diff --git a/launch/refproject-greetings-maven-j11.launch b/launch/refproject-greetings-maven-j11.launch
deleted file mode 100644
index dae42a94..00000000
--- a/launch/refproject-greetings-maven-j11.launch
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/launch/refproject-greetings-maven-j21.launch b/launch/refproject-greetings-maven-j21.launch
index 5af941d6..df8ea2a2 100644
--- a/launch/refproject-greetings-maven-j21.launch
+++ b/launch/refproject-greetings-maven-j21.launch
@@ -9,6 +9,6 @@
-
+
diff --git a/launch/refproject-greetings-maven.launch b/launch/refproject-greetings-maven.launch
index 89ee1d0c..7603ee9a 100644
--- a/launch/refproject-greetings-maven.launch
+++ b/launch/refproject-greetings-maven.launch
@@ -9,6 +9,6 @@
-
+
diff --git a/launch/refproject-greetings-tycho-j11.launch b/launch/refproject-greetings-tycho-j11.launch
deleted file mode 100644
index ce2e9f26..00000000
--- a/launch/refproject-greetings-tycho-j11.launch
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/launch/refproject-greetings-tycho-j21.launch b/launch/refproject-greetings-tycho-j21.launch
index 1350d982..fd8cf22d 100644
--- a/launch/refproject-greetings-tycho-j21.launch
+++ b/launch/refproject-greetings-tycho-j21.launch
@@ -9,6 +9,6 @@
-
+
diff --git a/launch/refproject-greetings-tycho.launch b/launch/refproject-greetings-tycho.launch
index ea2b24f3..afed1068 100644
--- a/launch/refproject-greetings-tycho.launch
+++ b/launch/refproject-greetings-tycho.launch
@@ -9,6 +9,6 @@
-
+
diff --git a/scripts/domainmodel-2.38.sh b/scripts/domainmodel-2.38.sh
new file mode 100755
index 00000000..e52ecdc3
--- /dev/null
+++ b/scripts/domainmodel-2.38.sh
@@ -0,0 +1,10 @@
+cd domainmodel/2.38.0/org.eclipse.xtext.example.domainmodel.releng
+
+TRAVIS_BUILD_DIR="${TRAVIS_BUILD_DIR:-$GITHUB_WORKSPACE}"
+TRAVIS_BUILD_DIR="${TRAVIS_BUILD_DIR:-../../../}"
+
+export PROFILES=
+export SETTINGS="-s $TRAVIS_BUILD_DIR/settings.xml"
+export DISABLE_DOWNLOAD_PROGRESS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+mvn -B $DISABLE_DOWNLOAD_PROGRESS $SETTINGS $PROFILES -Dtycho.showEclipseLog=true clean install $EXTRA_ARGS
diff --git a/scripts/greetings-gradle-2.38.sh b/scripts/greetings-gradle-2.38.sh
new file mode 100755
index 00000000..ac96dcbd
--- /dev/null
+++ b/scripts/greetings-gradle-2.38.sh
@@ -0,0 +1,3 @@
+cd greetings-gradle/2.38.0/org.xtext.example.mydsl.parent
+./gradlew clean build -Dorg.gradle.daemon=false
+
diff --git a/scripts/greetings-gradle-J21-2.38.sh b/scripts/greetings-gradle-J21-2.38.sh
new file mode 100755
index 00000000..22dd2158
--- /dev/null
+++ b/scripts/greetings-gradle-J21-2.38.sh
@@ -0,0 +1,3 @@
+cd greetings-gradle/2.38.0-J21/org.xtext.example.mydsl.parent
+./gradlew clean build -Dorg.gradle.daemon=false
+
diff --git a/scripts/greetings-maven-2.38.sh b/scripts/greetings-maven-2.38.sh
new file mode 100755
index 00000000..35013f72
--- /dev/null
+++ b/scripts/greetings-maven-2.38.sh
@@ -0,0 +1,12 @@
+if ["$TRAVIS_BUILD_DIR" eq ""]
+then
+ export TRAVIS_BUILD_DIR=$(pwd)
+fi
+
+cd greetings-maven/2.38.0
+
+export PROFILES=-Ptycho_snapshots
+export SETTINGS="-s $TRAVIS_BUILD_DIR/settings.xml"
+export DISABLE_DOWNLOAD_PROGRESS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+mvn -B -f org.xtext.example.mydsl.parent/pom.xml $DISABLE_DOWNLOAD_PROGRESS $SETTINGS $PROFILES clean install
diff --git a/scripts/greetings-maven-J21-2.38.sh b/scripts/greetings-maven-J21-2.38.sh
new file mode 100755
index 00000000..a3c5c554
--- /dev/null
+++ b/scripts/greetings-maven-J21-2.38.sh
@@ -0,0 +1,12 @@
+if ["$TRAVIS_BUILD_DIR" eq ""]
+then
+ export TRAVIS_BUILD_DIR=$(pwd)
+fi
+
+cd greetings-maven/2.38.0-J21
+
+export PROFILES=-Ptycho_snapshots
+export SETTINGS="-s $TRAVIS_BUILD_DIR/settings.xml"
+export DISABLE_DOWNLOAD_PROGRESS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+mvn -B -f org.xtext.example.mydsl.parent/pom.xml $DISABLE_DOWNLOAD_PROGRESS $SETTINGS $PROFILES -Djava-21 clean install
diff --git a/scripts/greetings-tycho-2.38.sh b/scripts/greetings-tycho-2.38.sh
new file mode 100755
index 00000000..45e3d657
--- /dev/null
+++ b/scripts/greetings-tycho-2.38.sh
@@ -0,0 +1,10 @@
+cd greetings-tycho/2.38.0
+
+TRAVIS_BUILD_DIR="${TRAVIS_BUILD_DIR:-$GITHUB_WORKSPACE}"
+TRAVIS_BUILD_DIR="${TRAVIS_BUILD_DIR:-../../}"
+
+export PROFILES=
+export SETTINGS="-s $TRAVIS_BUILD_DIR/settings.xml"
+export DISABLE_DOWNLOAD_PROGRESS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+mvn -B -f org.xtext.example.mydsl.parent/pom.xml $DISABLE_DOWNLOAD_PROGRESS $SETTINGS $PROFILES -Dtycho.showEclipseLog=true clean install $EXTRA_ARGS
diff --git a/scripts/greetings-tycho-J21-2.38.sh b/scripts/greetings-tycho-J21-2.38.sh
new file mode 100755
index 00000000..8239a1f5
--- /dev/null
+++ b/scripts/greetings-tycho-J21-2.38.sh
@@ -0,0 +1,10 @@
+cd greetings-tycho/2.38.0-J21
+
+TRAVIS_BUILD_DIR="${TRAVIS_BUILD_DIR:-$GITHUB_WORKSPACE}"
+TRAVIS_BUILD_DIR="${TRAVIS_BUILD_DIR:-../../}"
+
+export PROFILES=
+export SETTINGS="-s $TRAVIS_BUILD_DIR/settings.xml"
+export DISABLE_DOWNLOAD_PROGRESS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+mvn -B -f org.xtext.example.mydsl.parent/pom.xml $DISABLE_DOWNLOAD_PROGRESS $SETTINGS $PROFILES -Djava-21 -Dtycho.showEclipseLog=true clean install $EXTRA_ARGS