Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 242285

Summary: Should be possible to build from local source
Product: [WebTools] WTP Releng Reporter: Konstantin Komissarchik <konstantin>
Component: relengAssignee: David Williams <david_williams>
Status: RESOLVED WONTFIX QA Contact: David Williams <david_williams>
Severity: major    
Priority: P3    
Version: 3.10   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Konstantin Komissarchik CLA 2008-07-28 14:21:33 EDT
To my knowledge, it is currently not possible to run WTP build with local source and no interaction with the CVS server. This makes it extremely difficult to try out local changes to build (whether it's feature structure or post-build assembly steps) without releasing changes and seeing what happens on the CC machine. I know there is a way to create special labels, etc. and run build from those labels, but that still requires committing experimental code making it difficult to release other unrelated changes.

WTP build process should be split into separate stages...

1. Get source from CVS using tags / map files.
2. Build everything.

It should be possible to run stage 2 and give build a reference to location of source on disk.
Comment 1 David Williams CLA 2008-07-28 18:06:32 EDT
How would this be different than just picking a feature and asking PDE to export a "deployable feature"? 

I know there would be some differences, just wondering if this built-in support would help with what you need? 

Comment 2 David Williams CLA 2008-07-28 18:14:25 EDT
assigning to myself so it's obvious it's been triaged. 
As you might guess, high quality patches are welcome. 
Comment 3 Konstantin Komissarchik CLA 2008-07-28 19:42:30 EDT
No, using PDE's export wizard would not address the scenarios that I have ran into. Here are of these scenarios.

1. Changing features and feature relationships. It's important to verify that command line build is wired up correctly. Many things can go wrong here that would not be caught by the export wizard. 

2. Working on post-processing build steps (such as packaging of plugins/features into distributions).

3. Verifying that a large change didn't break some distant plugin in other part of WTP. You can say that this can be addressed by loading all WTP plugins into the Workspace, but that's hardly practical right now due to the machine resources required and it's not going to get any better. Being able to load only the necessary plugins into the workspace and then verify your changes by building everything on the command line goes a long way towards making sure that there are fewer breakages when code hits the CC box.

I've created pdeBuild-based build environments from scratch before, so I should be able to help out in theory, but honestly WTP build system is so intertwined and complicated that I have not gotten very far when I tried to understand it. Perhaps if things are pulled apart a bit more I could be of more help...
Comment 4 David Williams CLA 2008-07-29 17:45:03 EDT
FYI, the directions for doing this may already exist at 

http://wiki.eclipse.org/Orbit_Builds#Building_Orbit_In_Your_Workspace

The key is using 
skipMaps=true 
skipFetch=true

Those properties probably could be added to the WTP build, as described at 

http://wiki.eclipse.org/WTP_Batch_Build

in particular could be added as -D properties in step 4b. 

I'll leave this open until someone actually tries it (and updates our wiki pages) but think all the information to do it is available. 

The exact steps to do it may depend on exactly what is desired to be accomplished ... maybe we could document these many ways as "variant" procedures, linked from 
http://wiki.eclipse.org/WTP_Batch_Build
Comment 5 David Williams CLA 2009-10-08 20:41:52 EDT
Since this bug is over a year old with no activity, I'm closing as won't fix. 

I suppose it might deserve a long life as a feature request but I don't think it is a "major" bug ... since it is not even a function in our delivered code (so, can't be a "missing function" required by "major bugs". Plus, I think what's true for us is true for other Eclipse projects using PDE build. And, as I say, there may be a way to hack around it, if someone were so inclined. 

Thank you for raising the issue.