[JIRA] (JENKINS-51463) Extract Java interfaces and create TS typedefs for some common objects

2018-05-22 Thread jmcdon...@cloudbees.com (JIRA)
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

2018-05-21 Thread ol...@apache.org (JIRA)
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

2018-05-21 Thread vivek.pan...@gmail.com (JIRA)
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

2018-05-21 Thread vivek.pan...@gmail.com (JIRA)
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

2018-05-21 Thread vivek.pan...@gmail.com (JIRA)
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

2018-05-21 Thread jmcdon...@cloudbees.com (JIRA)
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