Deprecate old Xtext Generator #58

Closed
meysholdt opened this Issue Jul 29, 2016 · 11 comments

Comments

Projects
None yet
5 participants
@meysholdt
Contributor

meysholdt commented Jul 29, 2016

The problem with the old generator is that it generates code wich makes use of these files:

xtext-eclipse/org.eclipse.xtext.ui/deprecated
└── org
    └── eclipse
        └── xtext
            └── ui
                └── editor
                    ├── contentassist
                    │   └── antlr
                    │       ├── AbstractContentAssistParser.java
                    │       ├── AbstractPartialContentAssistParser.java
                    │       ├── AntlrProposalConflictHelper.java
                    │       ├── EntryPointFinder.java
                    │       ├── FollowElement.java
                    │       ├── IContentAssistParser.java
                    │       ├── IPartialContentAssistParser.java
                    │       ├── LookAheadTerminal.java
                    │       ├── LookAheadTerminalRuleCall.java
                    │       ├── LookaheadKeyword.java
                    │       ├── ObservableXtextTokenStream.java
                    │       ├── ParserBasedContentAssistContextFactory.java
                    │       └── internal
                    │           ├── AbstractInternalContentAssistParser.java
                    │           ├── DFA.java
                    │           ├── InfiniteRecursion.java
                    │           └── Lexer.java
                    ├── reconciler
                    │   └── XtextReconcilerDebugger.java
                    └── syntaxcoloring
                        ├── DefaultSemanticHighlightingCalculator.java
                        ├── IHighlightedPositionAcceptor.java
                        ├── ISemanticHighlightingCalculator.java
                        ├── LightweightPosition.java
                        └── MergingHighlightedPositionAcceptor.java

These files, however, will no longer be maintained by us (I guess) and therefore deviate from the up-to-date implementation in xtext.ide.

Proposed Action:
deprecate

org.eclipse.xtext.generator.Generator
org.eclipse.xtext.generator.LanguageConfig

in favor of

org.eclipse.xtext.xtext.generator.XtextGenerator
org.eclipse.xtext.xtext.generator.XtextGeneratorLanguage

To get out the clear message that migrating to the new generator infrastructure is a good idea.

@meysholdt

This comment has been minimized.

Show comment
Hide comment
@meysholdt

meysholdt Jul 29, 2016

Contributor

#16 will cause deviation of said files

Contributor

meysholdt commented Jul 29, 2016

#16 will cause deviation of said files

@meysholdt

This comment has been minimized.

Show comment
Hide comment
@meysholdt

meysholdt Jul 29, 2016

Contributor

and since eclipse/xtext-eclipse#27 test coverage of said files is gone

Contributor

meysholdt commented Jul 29, 2016

and since eclipse/xtext-eclipse#27 test coverage of said files is gone

@spoenemann spoenemann added this to the release_v2.11 milestone Oct 6, 2016

@spoenemann

This comment has been minimized.

Show comment
Hide comment
@spoenemann

spoenemann Oct 6, 2016

Member

Should we also "publish" parts of the API of the new generator? Currently there's @noreference, @noextend everywhere.

Member

spoenemann commented Oct 6, 2016

Should we also "publish" parts of the API of the new generator? Currently there's @noreference, @noextend everywhere.

@svenefftinge

This comment has been minimized.

Show comment
Hide comment
@svenefftinge

svenefftinge Jan 3, 2017

Contributor

Yes we should. AFAIK nobody has had any substantial change requests for the API so far.

Contributor

svenefftinge commented Jan 3, 2017

Yes we should. AFAIK nobody has had any substantial change requests for the API so far.

@kthoms

This comment has been minimized.

Show comment
Hide comment
@kthoms

kthoms Jan 4, 2017

Contributor

What has to be done for the old generator? Add @deprecated and @deprecate on all classes and add a note into the release notes?

Contributor

kthoms commented Jan 4, 2017

What has to be done for the old generator? Add @deprecated and @deprecate on all classes and add a note into the release notes?

spoenemann added a commit to eclipse/xtext-extras that referenced this issue Jan 4, 2017

eclipse/xtext-core#58: org.eclipse.xtext.generator is now deprecated…
… in favor of org.eclipse.xtext.xtext.generator
@spoenemann

This comment has been minimized.

Show comment
Hide comment
@spoenemann

spoenemann Jan 4, 2017

Member

Proposed Action: deprecate
org.eclipse.xtext.generator.Generator
org.eclipse.xtext.generator.LanguageConfig
in favor of
org.eclipse.xtext.xtext.generator.XtextGenerator
org.eclipse.xtext.xtext.generator.XtextGeneratorLanguage
To get out the clear message that migrating to the new generator infrastructure is a good idea.

Done.

Member

spoenemann commented Jan 4, 2017

Proposed Action: deprecate
org.eclipse.xtext.generator.Generator
org.eclipse.xtext.generator.LanguageConfig
in favor of
org.eclipse.xtext.xtext.generator.XtextGenerator
org.eclipse.xtext.xtext.generator.XtextGeneratorLanguage
To get out the clear message that migrating to the new generator infrastructure is a good idea.

Done.

@kthoms

This comment has been minimized.

Show comment
Hide comment
@kthoms

kthoms Jan 4, 2017

Contributor

Will there be a time when we will remove the old generator feature completely from the SDK and drop the dependency on Xpand? Maybe after Oxygen?

Contributor

kthoms commented Jan 4, 2017

Will there be a time when we will remove the old generator feature completely from the SDK and drop the dependency on Xpand? Maybe after Oxygen?

@spoenemann

This comment has been minimized.

Show comment
Hide comment
@spoenemann

spoenemann Jan 4, 2017

Member

Certainly we won't do that in any Xtext 2.x version, since that would break users who haven't migrated yet. We could consider a 3.0 version where we can drop such deprecated components.

Member

spoenemann commented Jan 4, 2017

Certainly we won't do that in any Xtext 2.x version, since that would break users who haven't migrated yet. We could consider a 3.0 version where we can drop such deprecated components.

@cdietrich

This comment has been minimized.

Show comment
Hide comment
@cdietrich

cdietrich Jan 9, 2017

Member

@spoenemann should the fragments be deprecated as well?

Member

cdietrich commented Jan 9, 2017

@spoenemann should the fragments be deprecated as well?

@spoenemann

This comment has been minimized.

Show comment
Hide comment
@spoenemann

spoenemann Jan 9, 2017

Member

We could use the @deprecated Javadoc tag to add links to the new version, but I wouldn't add the @Deprecated annotation to all of them since you cannot use them independently of the Generator, anyway.

Member

spoenemann commented Jan 9, 2017

We could use the @deprecated Javadoc tag to add links to the new version, but I wouldn't add the @Deprecated annotation to all of them since you cannot use them independently of the Generator, anyway.

@kthoms

This comment has been minimized.

Show comment
Hide comment
@kthoms

kthoms Jan 9, 2017

Contributor

I have added a section to the release notes.

Contributor

kthoms commented Jan 9, 2017

I have added a section to the release notes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment