[JIRA] (JENKINS-51463) Extract Java interfaces and create TS typedefs for some common objects
Title: Message Title Josh McDonald resolved as Fixed Merged to master @ c34cada3e09df0236f723990eb8501916e64062f Jenkins / JENKINS-51463 Extract Java interfaces and create TS typedefs for some common objects Change By: Josh McDonald Status: Open Resolved Resolution: Fixed Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit
[JIRA] (JENKINS-51463) Extract Java interfaces and create TS typedefs for some common objects
Title: Message Title Olivier Lamy commented on JENKINS-51463 Re: Extract Java interfaces and create TS typedefs for some common objects what about a maven plugin to generate TS definitions? Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-51463) Extract Java interfaces and create TS typedefs for some common objects
Title: Message Title Vivek Pandey updated an issue Jenkins / JENKINS-51463 Extract Java interfaces and create TS typedefs for some common objects Change By: Vivek Pandey Sprint: Blue Ocean 1.6 - beta 2 , Blue Ocean - 1.6 - beta 4 Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-51463) Extract Java interfaces and create TS typedefs for some common objects
Title: Message Title Vivek Pandey updated an issue Jenkins / JENKINS-51463 Extract Java interfaces and create TS typedefs for some common objects Change By: Vivek Pandey Priority: Minor Major Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-51463) Extract Java interfaces and create TS typedefs for some common objects
Title: Message Title Vivek Pandey updated an issue Jenkins / JENKINS-51463 Extract Java interfaces and create TS typedefs for some common objects Change By: Vivek Pandey Sprint: Blue Ocean 1.6 - beta 2 Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-51463) Extract Java interfaces and create TS typedefs for some common objects
Title: Message Title Josh McDonald created an issue Jenkins / JENKINS-51463 Extract Java interfaces and create TS typedefs for some common objects Issue Type: Task Assignee: Josh McDonald Components: blueocean-plugin Created: 2018-05-22 00:29 Priority: Minor Reporter: Josh McDonald Our java class structure has abstract classes serving the role of interfaces because the project was started before Jenkins' minimum JVM version moved to 1.8 which allows us to use default impls. We're also breaking the Liskov substitution principle at a few points in the implementation due to the fact that Stapler `@Exported` annotations aren't constrained in the same way the underlying Java methods are. The result of this is that subclasses become no longer substitutable as the objects cross the boundary from Java to JSON At the same time, we need to have TypeScript definitions for the types we're expecting from the server. Addressing these needs begins with extracting some smaller, more focused Java interfaces for the common concerns as they're reflected in the API, and introduce some TS definitions that are based on them. For this ticket I'm creating these new java interfaces while making minimal changes to the actual existing code, and to create the TS definitions by hand, as a first step so as to get the TS definitions into master where they can be used by the team when working on front-end code and get feedback about their applicability and the best way forward. For the future to continue improving in this area I propose (as separate tickets) some more areas of focus (in no particular order): Mechanical translation of the Java interfaces into TypeScript via the use of javac APIs or other parser, so that they stay in sync, with javadoc comments being copied across also, while still keeping the TypeScript defs in source control