This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 219490 - COSMOS downloads should include source code
Summary: COSMOS downloads should include source code
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Cosmos (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P1 critical (vote)
Target Milestone: ---   Edit
Assignee: Jagmit CLA
QA Contact: Hubert Leung CLA
URL:
Whiteboard:
Keywords:
: 215613 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-02-19 14:46 EST by David Whiteman CLA
Modified: 2012-01-03 13:48 EST (History)
5 users (show)

See Also:


Attachments
Proposal to modify download page for sdk downloads (31.03 KB, image/x-png)
2008-03-18 17:29 EDT, Saurabh Dravid CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Whiteman CLA 2008-02-19 14:46:43 EST
We should either include the source code with our downloads, or provide alternate zips that include full source.  The reason is that a common scenario would be for someone to install our SDK into Eclipse and attempt to develop an MDR.  If they are debugging their code and stepping into our classes, they will see no source if they installed from the download zips instead of checking out projects from Eclipse.
Comment 1 Jagmit CLA 2008-03-07 10:35:03 EST
David:

Do you require the separate download of source code for particular module or for all the modules.

Comment 2 David Whiteman CLA 2008-03-07 10:47:48 EST
I admit I'm not that familiar with how src code is packaged typically in Eclipse.  I hope that Ruth or someone more experienced with TPTP can help you there.  

The idea is that when you open any class we deliver, you will see the src code, provided that you have installed the optional src download(s).
Comment 3 Jagmit CLA 2008-03-13 15:46:30 EDT
David:

There is the SDK package for resource modelling 
(http://build.eclipse.org/technology/cosmos/downloads/COSMOS/1.0.0/COSMOS-1.0.0-200803131218/cosmos-rm-incubation-sdk-COSMOS-1.0.0-200803131218.zip)
Can you verify if that is what you are looking for?


Comment 4 David Whiteman CLA 2008-03-13 16:23:27 EDT
Yes, that displayed the source correctly.  Please do the same for our other download zips.

The only question I have is whether we need to provide two versions of our downloads, with & without source, since some people might not want the bigger source downloads.  What does TPTP do?
Comment 5 David Whiteman CLA 2008-03-13 16:31:25 EDT
I see TPTP has two downloads for each subproject, Runtime and SDK.  Is the only difference between the two that the SDK has source?  In our case would there be other things like the SML-IF editor or CMDBf toolkit that wouldn't be included in a runtime?
Comment 6 Jagmit CLA 2008-03-13 20:01:53 EDT
Yes the difference between the two is SDK contain the source code files. 

I suppose we require SDK package for Data Collection and Data Reporting. 
Do we require, this for COSMOS-SDK and Demo also?


Comment 7 David Whiteman CLA 2008-03-13 20:35:37 EDT
yes, the SDK should include source too.  I don't think the demo needs to though.

I think we will have some confusion if we have "SDK" and "Runtime" versions of the SDK.  We would be overloading the SDK term.  How about we call the two versions of each package "Binary" and "Binary with Source" or something like that?  Maybe look at some other Eclipse projects besides TPTP (e.g. Webtools) for some more ideas.
Comment 8 Jagmit CLA 2008-03-14 08:54:32 EDT
To avoid confusion for COSMOS-SDK package. 
We can name it as COSMOS-Runtime (will contain only binaries) and COSMOS-SDK (will contain source code + binaries). What is your opinion?
Comment 9 David Whiteman CLA 2008-03-14 09:29:37 EDT
That would probably work.  Though it will be interesting to see what it looks like when it's done.

Any of the ex-TPTPers have an opinion on this?
Comment 10 Hubert Leung CLA 2008-03-14 11:03:43 EDT
This gets into the discussion about download structure (bug 216771).

Let's talk about the requirements of this bug first.  We want to have the source code of the COSMOS project be downloadable from the download page.  Source code is from all subprojects, some are plugins, some are web applications.  

The simpliest solution to meet the requirement to zip up code snapshot checked out during the build and make it available for download.  But you may decide to pair them up with the runtime zips and build source plugins using PDE where applicable. 

For runtime zips, I prefer using more descriptive names, such as "MDR Toolkit", "SML Editor", etc., as opposed to "COSMOS-Runtime".  
Comment 11 Saurabh Dravid CLA 2008-03-18 17:29:44 EDT
Created attachment 92848 [details]
Proposal to modify download page for sdk downloads

I am attaching a mockup screenshot as the way we can implement sdk and runtime downloaded features. This is the way webtools bundle their components. Please provide feedback on this.
Comment 12 David Whiteman CLA 2008-03-18 17:45:57 EDT
The basic organization looks good.  The wording of the components needs some work.

Would the COSMOS SDK download include source by default?  I would expect so.  Likewise I'd expect the Demo download would not include source.

Should we discuss this on the Arch Call?
Comment 13 Saurabh Dravid CLA 2008-03-18 18:06:39 EDT
yes COSMOS SDK will include the SDK for all(SML SDK+DC SDK+DR SDK) and there would be no source code available in COSMOS demo.
Comment 14 amehrega CLA 2008-03-18 22:18:07 EDT
For what it's worth:

In the short-term, I agree with the proposed changes but in the long-term (i.e. post 1.0) COSMOS packaging should be divided by functions of system management.  For example:

> Deployment Management
> Configuration Management
> Resource Management
and etc...  

There will most likely be a common package shared across all other packages which will likely contain the back-bone structure of COSMOS (e.g. management domain, broker, common UI components, and etc..)

Comment 15 Jagmit CLA 2008-03-25 20:36:25 EDT
Saurabh:

I finsihed creating the SDK packages for Resource Modeling, Data collection and COSMOS SDK. 

Can documentation required for these sdk package be created for COSMOS Download page.   

Data reporting module is packaged differently than other modules. It does not contain features and plugins.  Just wondering, if it makes sense to create SDK package for this. 
Comment 16 David Whiteman CLA 2008-03-26 09:09:06 EDT
*** Bug 215613 has been marked as a duplicate of this bug. ***
Comment 17 Jagmit CLA 2008-04-03 17:02:53 EDT
Saurabh:

This enhancement is open for quite a while.  Have completed the work, creating the source SDK.   

Is there any update on creating the documentation. If yes, then we can add  documentation and link to SDK packages at the download page and close this bug. 
Comment 18 Jagmit CLA 2008-04-04 13:51:24 EDT
David:

To complete working on this bug, should I added this description (as written in the patch) for the Resource Modeling SDK package (This SDK package is for developers who wants to develop and extend cosmos resource modeling framework) or whatever you suggest

Hubert:

Can you suggest the wording for the Data Collection (both for SDK and non-SDK packages)
Comment 19 David Whiteman CLA 2008-04-04 14:56:38 EDT
"This SDK package is for developers who want source code included with the tooling in order to develop or extend the Resource Modeling framework."

does that sound good to you, Ali?
Comment 20 amehrega CLA 2008-04-04 15:08:14 EDT
(In reply to comment #19)
> does that sound good to you, Ali?
Sounds fine.

Comment 21 Hubert Leung CLA 2008-04-04 15:56:20 EDT
Jagmit, 

Can you give me a summary of what source files are available for download and how are they packaged?

Thanks,
Hubert
Comment 22 Jagmit CLA 2008-04-06 14:39:45 EDT
Hubert:

Data Collection SDK module is packaged as 
http://build.eclipse.org/technology/cosmos/downloads/COSMOS/1.0.0/COSMOS-1.0.0-200804061200/cosmos-dc-incubation-sdk-COSMOS-1.0.0-200804061200.zip
It contains source plugin (org.eclipse.cosmos.dc.source_*), which contains source code for various data collection plugins.
Comment 23 Jagmit CLA 2008-04-08 09:12:56 EDT
Hubert:

Do you input regarding description for data collection sdk package.

Jagmit
Comment 24 Hubert Leung CLA 2008-04-08 09:23:06 EDT
Hi Jagmit, 

I was asking for a summary of how source code is packaged in COSMOS, for all subprojects.  I want to make sure the source of all COSMOS components are covered.  

As for the data collection SDK, we may not need this zip at all because the code in the data collection zip may not be part of v1.0.  

Hubert
Comment 25 Jagmit CLA 2008-04-08 11:48:29 EDT
I created the SK packages for resource modelling, Data Collection and COSMOS SDK. 
For all the plugins, which were packaged in these subprojects, created source plugins.  And also create the sdk feature, to include these source plugins. 

In summary I followed the above process to create the SDK packages.  

Comment 26 Jagmit CLA 2008-04-08 15:24:54 EDT
David:

Have updated link for Resource modeling SDK package to the download page for the latest build COSMOS-1.0.0-200804081401.
Comment 27 Jagmit CLA 2008-04-08 20:44:47 EDT
Marking this bug as fixed
Comment 28 Hubert Leung CLA 2008-04-08 22:26:56 EDT
I reopened the bug because I think the source code of the data visualization subproject is missing.  

Sheldon, can you comment on how the UI source code should be packaged?  

In i10, the data manager framework and data manager are not packaged as plugins.  If we want to provide source code for the build, we should include the source for all parts of the project, not just plugins.  I am fine with simple solutions like zipping up the source tree in a zip file.  
Comment 29 Sheldon Lee-Loy CLA 2008-04-09 11:04:57 EDT
The data visualization java source can be packaged as zip files.

The javascript and configuration files should be packaged in a directory structure.

Comment 30 David Whiteman CLA 2008-04-09 14:37:57 EDT
The weekly integration build site did not provide the "with source" (SDK) options for download.  IIRC, there is still an additional step to make these zips with source available on the web site.  I would think we have to wait until those are visible as part of regular builds before we can mark this as fixed.
Comment 31 Sheldon Lee-Loy CLA 2008-04-09 15:46:06 EDT
Hi Jagmit,

Can you add the following plug-ins to the sdk.  I modifed the projects to be plugins.  I also changed the biuld.properties file to define what should be included in the source plugins.  

org.eclipse.cosmos.examples.e2e.dr.template
org.eclipse.cosmos.dr.drs.service.handler
org.eclipse.cosmos.dr.ps.common
org.eclipse.cosmos.dr.ps.components
org.eclipse.cosmos.examples.e2e.dr.drs.service.handler
org.eclipse.cosmos.examples.e2e.dr.views
org.eclipse.cosmos.examples.e2e.web.ui

You will need to update the souce feature to include these plugins.
Comment 32 Saurabh Dravid CLA 2008-04-09 20:13:04 EDT
Hi Sheldon,

Do we need seperate feature for these new reporting plugin. Somehow this is blocking the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=226381 , since "dr.web.ui.viewer" source compilation requires classes from "dr.ps.common" and "dr.ps.common" cannot be built unless it is included in one of the feature. We might also want to bundle the classes of "dr.ps.common" into a jar (by specifying the option in build.properties) so that they could be placed in "dr.web.ui.viewer/WEB-INF/lib" folder.
Comment 33 Sheldon Lee-Loy CLA 2008-04-09 23:12:00 EDT
(In reply to comment #32)
> Hi Sheldon,
> 
> Do we need seperate feature for these new reporting plugin. Somehow this is
> blocking the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=226381 , since
> "dr.web.ui.viewer" source compilation requires classes from "dr.ps.common" and
> "dr.ps.common" cannot be built unless it is included in one of the feature. We
> might also want to bundle the classes of "dr.ps.common" into a jar (by
> specifying the option in build.properties) so that they could be placed in
> "dr.web.ui.viewer/WEB-INF/lib" folder.
> 

The "dr.web.ui.viewer" plugin shouldn't be part of the source feature since this is a plugin that contains code that should not be extended.
Comment 34 David Whiteman CLA 2008-04-09 23:43:29 EDT
(In reply to comment #33)
> (In reply to comment #32)
> > Hi Sheldon,
> > 
> > Do we need seperate feature for these new reporting plugin. Somehow this is
> > blocking the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=226381 , since
> > "dr.web.ui.viewer" source compilation requires classes from "dr.ps.common" and
> > "dr.ps.common" cannot be built unless it is included in one of the feature. We
> > might also want to bundle the classes of "dr.ps.common" into a jar (by
> > specifying the option in build.properties) so that they could be placed in
> > "dr.web.ui.viewer/WEB-INF/lib" folder.
> > 
> 
> The "dr.web.ui.viewer" plugin shouldn't be part of the source feature since
> this is a plugin that contains code that should not be extended.
> 

Right, he's not suggesting that.  He's saying that dr.web.ui.viewer prereqs dr.ps.common.  However, dr.ps.common is not part of a feature yet.  He is asking what feature you want to put it in, now that it's a first class plugin.
Comment 35 Sheldon Lee-Loy CLA 2008-04-10 00:28:15 EDT
(In reply to comment #34)
> (In reply to comment #33)
> > (In reply to comment #32)
> > > Hi Sheldon,
> > > 
> > > Do we need seperate feature for these new reporting plugin. Somehow this is
> > > blocking the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=226381 , since
> > > "dr.web.ui.viewer" source compilation requires classes from "dr.ps.common" and
> > > "dr.ps.common" cannot be built unless it is included in one of the feature. We
> > > might also want to bundle the classes of "dr.ps.common" into a jar (by
> > > specifying the option in build.properties) so that they could be placed in
> > > "dr.web.ui.viewer/WEB-INF/lib" folder.
> > > 
> > 
> > The "dr.web.ui.viewer" plugin shouldn't be part of the source feature since
> > this is a plugin that contains code that should not be extended.
> > 
> 
> Right, he's not suggesting that.  He's saying that dr.web.ui.viewer prereqs
> dr.ps.common.  However, dr.ps.common is not part of a feature yet.  He is
> asking what feature you want to put it in, now that it's a first class plugin.
> 

Okay, I guess I thought this bug was related to creating source code bundles associated with a source code feature.

David, you added the dr.ps.common dependency to dr.web.ui.viewer.   I guess you added that to make the dr.web.ui.viewer compile?

We should remove the dr.ps.common dependency from dr.web.ui.viewer.  We should bundle dr.ps.common in the WEB-INF/lib directory.

It is difficult to make the data visualization code plugin bundles since the code depends on data collection code that are not bundles.  Furthermore, it seems that a bundle will on be activated if all its dependency are activated.  I found problems with activating the apache-muse bundle since it depends on org.apache.xpath which we don't use.  
Comment 36 David Whiteman CLA 2008-04-10 07:09:03 EDT
(In reply to comment #35)
> Okay, I guess I thought this bug was related to creating source code bundles
> associated with a source code feature.
> 
> David, you added the dr.ps.common dependency to dr.web.ui.viewer.   I guess you
> added that to make the dr.web.ui.viewer compile?
> 
> We should remove the dr.ps.common dependency from dr.web.ui.viewer.  We should
> bundle dr.ps.common in the WEB-INF/lib directory.
> 
> It is difficult to make the data visualization code plugin bundles since the
> code depends on data collection code that are not bundles.  Furthermore, it
> seems that a bundle will on be activated if all its dependency are activated. 
> I found problems with activating the apache-muse bundle since it depends on
> org.apache.xpath which we don't use.  
> 

I added it there because dr.web.ui.viewer would not compile when Saurabh tried to add it to the build.  It seemed logical to add that prereq since you just made dr.ps.common a real plugin (which is why the discussion of this is occurring in this particular bug report).

Saurabh, is there a way to dynamically put dr.ps.common on the build path of dr.web.ui.viewer so we don't have to put the hard plugin dependency in?
Comment 37 Saurabh Dravid CLA 2008-04-10 09:18:21 EDT
(In reply to comment #36)
> (In reply to comment #35)
> > Okay, I guess I thought this bug was related to creating source code bundles
> > associated with a source code feature.
> > 
> > David, you added the dr.ps.common dependency to dr.web.ui.viewer.   I guess you
> > added that to make the dr.web.ui.viewer compile?
> > 
> > We should remove the dr.ps.common dependency from dr.web.ui.viewer.  We should
> > bundle dr.ps.common in the WEB-INF/lib directory.
> > 
> > It is difficult to make the data visualization code plugin bundles since the
> > code depends on data collection code that are not bundles.  Furthermore, it
> > seems that a bundle will on be activated if all its dependency are activated. 
> > I found problems with activating the apache-muse bundle since it depends on
> > org.apache.xpath which we don't use.  
> > 
> I added it there because dr.web.ui.viewer would not compile when Saurabh tried
> to add it to the build.  It seemed logical to add that prereq since you just
> made dr.ps.common a real plugin (which is why the discussion of this is
> occurring in this particular bug report).
> Saurabh, is there a way to dynamically put dr.ps.common on the build path of
> dr.web.ui.viewer so we don't have to put the hard plugin dependency in?

We can specify the required packages in "Imported Packages" of Manifest file, but I am not sure if it will start the Activator if the specified package is not found in any of the plugin.
Comment 38 David Whiteman CLA 2008-04-10 10:09:58 EDT
(In reply to comment #37)
> We can specify the required packages in "Imported Packages" of Manifest file,
> but I am not sure if it will start the Activator if the specified package is
> not found in any of the plugin.

The package is found because it is contained in a jar file in the Bundle-ClassPath in MANIFEST.MF (which reminds me of a new requirement I need to add to bug 226381 :-)).  So the only issue is making sure the classes compile during the build.  They definitely work at runtime, since we are able to test this.
Comment 39 Jagmit CLA 2008-04-14 22:07:13 EDT
Added the plugins mentioned in Comment# 31 in the latest cosmos driver COSMOS-1.0.0-200804142151
Comment 40 Jagmit CLA 2008-04-15 11:43:20 EDT
Marking this as fixed