Community
Participate
Working Groups
So far we build only the plugins and features with our maven/tycho build job [1]. Since mostly the RCPs are downloaded from our download area, it would be good to build the RCPs with our build job too. [1] https://build.eclipse.org/hudson/view/Tycho%20+%20Maven/job/tycho-mat-nightly/
The RCP are built now and can be accessed via [RCP]. Feedback is appreciated. Currently not all rootfiles are added to the RCPs, therfore I'm in contact with a Tycho developer... [RCP] <<https://build.eclipse.org/hudson/view/Tycho%20+%20Maven/job/tycho-mat-nightly/ws/trunk/product/target/>>
I've yet to test a build but this looks useful. Are the files in org.eclipse.mat.product similar to some of the files in org.eclipse.mat.ui.rcp ? Will we be able to avoid duplication of the files in the future? E.g. all the product definitions go in org.eclipse.mat.product and org.eclipse.mat.ui.rcp is just a plugin project without .product files and icons ?
I tried the build product for Win64. Here some findings: 1) The folder in which the product is contained is "eclipse". This is standard, but so far for our RCPs the containing folder was "mat" 2) There are files missing in the root folder, namely - MemoryAnalyzer.ini - the ParseHeapDump script - epl-v10.html and notice.html We have to figure out how to bring this files on the proper place 3) The build javadoc is missing, i.e. the topic "API Reference" is present in the help contents, but the content is missing 4) The plugin org.eclipse.mat.ibmdumps is missing -> no acquire dump functionality from IBM JVMs 5) "Window" -> "Preferences" opens an empty window. The page for proxy configuration is missing. 6) Update manager is missing, "Help" doesn't contain "Install new software..." and "Check for updates"
(In reply to comment #2) > I've yet to test a build but this looks useful. > Are the files in org.eclipse.mat.product similar to some of the files in > org.eclipse.mat.ui.rcp ? > Will we be able to avoid duplication of the files in the future? E.g. all the > product definitions go in org.eclipse.mat.product and org.eclipse.mat.ui.rcp is > just a plugin project without .product files and icons ? Currently some files regarding the product definition are duplicated in org.eclipse.mat.product and org.eclipse.mat.ui.rcp. I had to copy/extract these files into a new project since every project/pom can have only one packaging type. This is temporary until the RCP build with tycho is finalized. Then the product related files should be deleted from the org.eclipse.mat.ui.rcp plugin.
(In reply to comment #3) > I tried the build product for Win64. > Here some findings: > 4) The plugin org.eclipse.mat.ibmdumps is missing -> no acquire dump > functionality from IBM JVMs > This could be because org.eclipse.mat.ibmdumps is missing from org.eclipse.mat.feature feature.xml
(In reply to comment #5) > This could be because org.eclipse.mat.ibmdumps is missing from > org.eclipse.mat.feature feature.xml Erwin excluded it as there were some problems while compiling. But we never took the time to investigate it further. We have to try again and look into it.
I've added some p2 plugins. org.eclipse.equinox.p2.ui org.eclipse.equinox.p2.ui.sdk org.eclipse.equinox.p2.ui.sdk.scheduler and also which seems to be needed to get the update window to open. Also add declarative services to the dependency feature org.eclipse.equinox.ds and use a default config.ini but then add a start configuration for runtime and equinox.ds
The current builds don't have charts, possibly because BIRT 2.6.1 uses org.mozilla.javascript not org.mozilla.rhino plugins.
The version of DTFJ available on the FTP site has changed. I update the target definition accordingly.
(In reply to comment #3) Some comments on two of the problems: > 1) The folder in which the product is contained is "eclipse". This is standard, > but so far for our RCPs the containing folder was "mat" In an upcoming version of tycho this will be configurable: https://github.com/sonatype/sonatype-tycho/commit/d7c252e926458233bc271251781aa35b7c73b087 > > 2) There are files missing in the root folder, namely > - MemoryAnalyzer.ini > - the ParseHeapDump script > - epl-v10.html and notice.html > We have to figure out how to bring this files on the proper place > This is the corresponding tycho issue: https://issues.sonatype.org/browse/TYCHO-465
I have a local PDE build based MAT with P2 listed from Help->About Eclipse Memory Analyzer->Installation Details which lists Installed Software Installation History Features Plug-ins Configuration The plug-ins are com.ibm.dtfj.api_1.4.0.201011011031 com.ibm.dtfj.j9_1.4.0.201011011031 com.ibm.dtfj.sov_1.4.0.201011011031 com.ibm.icu_4.2.1.v20100412.jar javax.servlet.jsp_2.0.0.v200806031607.jar javax.servlet_2.5.0.v200910301333.jar org.apache.ant_1.7.1.v20100518-1145 org.apache.commons.codec_1.3.0.v20100518-1140.jar org.apache.commons.el_1.0.0.v201004212143.jar org.apache.commons.httpclient_3.1.0.v201005080502.jar org.apache.commons.logging_1.0.4.v201005080501.jar org.apache.jasper_5.5.17.v201004212143.jar org.apache.lucene.analysis_1.9.1.v20100518-1140.jar org.apache.lucene_1.9.1.v20100518-1140.jar org.eclipse.ant.core_3.2.200.v20100427.jar org.eclipse.birt.chart.device.extension_2.6.0.v20100521.jar org.eclipse.birt.chart.device.swt_2.6.0.v20100519.jar org.eclipse.birt.chart.engine.extension_2.6.0.v20100601.jar org.eclipse.birt.chart.engine_2.6.0.v20100607.jar org.eclipse.birt.core_2.6.0.v20100526.jar org.eclipse.compare.core_3.5.100.I20100526-0800.jar org.eclipse.compare_3.5.100.I20100526-0800.jar org.eclipse.core.commands_3.6.0.I20100512-1500.jar org.eclipse.core.contenttype_3.4.100.v20100505-1235.jar org.eclipse.core.databinding.observable_1.3.0.I20100601-0800.jar org.eclipse.core.databinding.property_1.3.0.I20100601-0800.jar org.eclipse.core.databinding_1.3.100.I20100601-0800.jar org.eclipse.core.expressions_3.4.200.v20100505.jar org.eclipse.core.filebuffers_3.5.100.v20100520-0800.jar org.eclipse.core.filesystem.win32.x86_1.1.201.R36x_v20100727-0745.jar org.eclipse.core.filesystem_1.3.1.R36x_v20100727-0745.jar org.eclipse.core.jobs_3.5.1.R36x_v20100824.jar org.eclipse.core.net_1.2.100.I20100511-0800.jar org.eclipse.core.resources.win32.x86_3.5.100.v20100505-1345.jar org.eclipse.core.resources_3.6.0.R36x_v20100825-0600.jar org.eclipse.core.runtime.compatibility.auth_3.2.200.v20100517.jar org.eclipse.core.runtime.compatibility.registry_3.3.0.v20100520 org.eclipse.core.runtime_3.6.0.v20100505.jar org.eclipse.core.variables_3.2.400.v20100505.jar org.eclipse.debug.core_3.6.0.v20100519.jar org.eclipse.debug.ui_3.6.1.v20100901_r361.jar org.eclipse.ecf.filetransfer_4.0.0.v20100529-0735.jar org.eclipse.ecf.identity_3.1.0.v20100529-0735.jar org.eclipse.ecf.provider.filetransfer.httpclient.ssl_1.0.0.v20100529-0735.jar org.eclipse.ecf.provider.filetransfer.httpclient_4.0.0.v20100529-0735.jar org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20100529-0735.jar org.eclipse.ecf.provider.filetransfer_3.1.0.v20100529-0735.jar org.eclipse.ecf.ssl_1.0.0.v20100529-0735.jar org.eclipse.ecf_3.1.0.v20100529-0735.jar org.eclipse.emf.common_2.6.0.v20100914-1218.jar org.eclipse.emf.ecore.xmi_2.5.0.v20100521-1846.jar org.eclipse.emf.ecore_2.6.1.v20100914-1218.jar org.eclipse.equinox.app_1.3.1.R36x_v20100803.jar org.eclipse.equinox.common_3.6.0.v20100503.jar org.eclipse.equinox.concurrent_1.0.100.v20100503.jar org.eclipse.equinox.ds_1.2.1.R36x_v20100803.jar org.eclipse.equinox.frameworkadmin.equinox_1.0.200.v20100505.jar org.eclipse.equinox.frameworkadmin_2.0.0.v20100503.jar org.eclipse.equinox.http.jetty_2.0.0.v20100503.jar org.eclipse.equinox.http.registry_1.1.0.v20100503.jar org.eclipse.equinox.http.servlet_1.1.0.v20100503.jar org.eclipse.equinox.jsp.jasper.registry_1.0.200.v20100503.jar org.eclipse.equinox.jsp.jasper_1.0.200.v20100421.jar org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 org.eclipse.equinox.launcher_1.1.0.v20100507.jar org.eclipse.equinox.p2.artifact.repository_1.1.1.R36x_v20100901.jar org.eclipse.equinox.p2.console_1.0.200.v20100601.jar org.eclipse.equinox.p2.core_2.0.2.R36x_v20100804.jar org.eclipse.equinox.p2.director.app_1.0.201.R36x_v20100823.jar org.eclipse.equinox.p2.directorywatcher_1.0.202.R36x_v20100727.jar org.eclipse.equinox.p2.director_2.0.2.R36x_v20100823.jar org.eclipse.equinox.p2.engine_2.0.0.v20100606.jar org.eclipse.equinox.p2.extensionlocation_1.2.0.v20100518.jar org.eclipse.equinox.p2.garbagecollector_1.0.100.v20100503.jar org.eclipse.equinox.p2.jarprocessor_1.0.200.v20100503a.jar org.eclipse.equinox.p2.metadata.generator_1.0.200.v20100503a.jar org.eclipse.equinox.p2.metadata.repository_1.1.0.v20100513.jar org.eclipse.equinox.p2.metadata_2.0.0.v20100601.jar org.eclipse.equinox.p2.operations_2.0.0.v20100510.jar org.eclipse.equinox.p2.publisher_1.1.2.v20100824-2220.jar org.eclipse.equinox.p2.ql_2.0.0.v20100503a.jar org.eclipse.equinox.p2.reconciler.dropins_1.1.0.v20100525.jar org.eclipse.equinox.p2.repository.tools_2.0.1.R36x_v20100823.jar org.eclipse.equinox.p2.repository_2.0.1.R36x_v20100823.jar org.eclipse.equinox.p2.touchpoint.eclipse_2.0.2.R36x_v20100823.jar org.eclipse.equinox.p2.touchpoint.natives_1.0.200.v20100503a.jar org.eclipse.equinox.p2.ui.sdk.scheduler_1.0.0.v20100507-1815.jar org.eclipse.equinox.p2.ui.sdk_1.0.100.v20100513.jar org.eclipse.equinox.p2.ui_2.0.0.v20100518.jar org.eclipse.equinox.p2.updatechecker_1.1.101.R36x_v20100823.jar org.eclipse.equinox.p2.updatesite_1.0.201.R36x_v20100823.jar org.eclipse.equinox.preferences_3.3.0.v20100503.jar org.eclipse.equinox.registry_3.5.0.v20100503.jar org.eclipse.equinox.security.ui_1.0.200.v20100503.jar org.eclipse.equinox.security.win32.x86_1.0.200.v20100503.jar org.eclipse.equinox.security_1.0.200.v20100503.jar org.eclipse.equinox.simpleconfigurator.manipulator_2.0.0.v20100503.jar org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar org.eclipse.equinox.util_1.0.200.v20100503.jar org.eclipse.help.appserver_3.1.400.v20100427.jar org.eclipse.help.base_3.5.2.v201009090800.jar org.eclipse.help.ui_3.5.2.r36_v20100702.jar org.eclipse.help.webapp_3.5.2.r36_r20100816.jar org.eclipse.help_3.5.0.v20100524.jar org.eclipse.jdt.core.manipulation_1.3.0.v20100520-0800.jar org.eclipse.jdt.core_3.6.1.v_A68_R36x.jar org.eclipse.jdt.debug_3.6.1.v20100715_r361 org.eclipse.jdt.launching_3.5.100.v20100526.jar org.eclipse.jdt.ui_3.6.1.r361_v20100825-0800.jar org.eclipse.jface.databinding_1.4.0.I20100601-0800.jar org.eclipse.jface.text_3.6.1.r361_v20100825-0800.jar org.eclipse.jface_3.6.1.M20100825-0800.jar org.eclipse.ltk.core.refactoring_3.5.100.v20100526-0800.jar org.eclipse.ltk.ui.refactoring_3.5.0.v20100526-0800.jar org.eclipse.mat.api_1.0.100.201011121519.jar org.eclipse.mat.chart.ui_1.0.100.201011121519.jar org.eclipse.mat.chart_1.0.100.201011121519.jar org.eclipse.mat.dtfj_1.0.100.201011121519.jar org.eclipse.mat.hprof_1.0.100.201011121519.jar org.eclipse.mat.ibmdumps_1.0.100.201011121519.jar org.eclipse.mat.jdt_1.0.100.201011121519.jar org.eclipse.mat.parser_1.0.100.201011121519.jar org.eclipse.mat.report_1.0.100.201011121519.jar org.eclipse.mat.ui.help_1.0.100.201011121519.jar org.eclipse.mat.ui.rcp_1.0.100.201011121519.jar org.eclipse.mat.ui_1.0.100.201011121519.jar org.eclipse.osgi.services_3.2.100.v20100503.jar org.eclipse.osgi_3.6.1.R36x_v20100806.jar org.eclipse.platform_3.6.1.v201009090800 org.eclipse.search_3.6.0.v20100520-0800.jar org.eclipse.swt.win32.win32.x86_3.6.1.v3655c.jar org.eclipse.swt_3.6.1.v3655c.jar org.eclipse.team.core_3.5.100.R36x_v20100825-0800.jar org.eclipse.team.ui_3.5.101.R36x_v20100825-0800.jar org.eclipse.text_3.5.0.v20100601-1300.jar org.eclipse.ui.cheatsheets_3.4.0.v20100427.jar org.eclipse.ui.console_3.5.0.v20100526.jar org.eclipse.ui.editors_3.6.1.r361_v20100825-0800.jar org.eclipse.ui.forms_3.5.2.r36_v20100702.jar org.eclipse.ui.ide_3.6.1.M20100825-0800.jar org.eclipse.ui.intro_3.4.0.v20100427.jar org.eclipse.ui.navigator.resources_3.4.201.M20100707-0800.jar org.eclipse.ui.navigator_3.5.0.I20100601-0800.jar org.eclipse.ui.views.log_1.0.100.v20100423.jar org.eclipse.ui.views.properties.tabbed_3.5.100.I20100509-0800.jar org.eclipse.ui.views_3.5.0.I20100527-0800.jar org.eclipse.ui.win32_3.2.200.I20100509-0800.jar org.eclipse.ui.workbench.texteditor_3.6.1.r361_v20100714-0800.jar org.eclipse.ui.workbench_3.6.1.M20100826-1330.jar org.eclipse.ui_3.6.1.M20100826-1330.jar org.hamcrest.core_1.1.0.v20090501071000.jar org.junit4_4.8.1.v20100525 org.junit_4.8.1.v4_8_1_v20100427-1100 org.mortbay.jetty.server_6.1.23.v201004211559.jar org.mortbay.jetty.util_6.1.23.v201004211559.jar org.mozilla.rhino_1.7.1.v20090608 org.sat4j.core_2.2.0.v20100429.jar org.sat4j.pb_2.2.0.v20100429.jar The features are: com.ibm.dtfj.feature_1.4.0.201011011031 org.eclipse.equinox.p2.user.ui_2.0.1.r361_v20100903-897HFZFFZRuSD2LMtVxyz0Vr org.eclipse.mat.chart.feature_1.0.100.201011121519 org.eclipse.mat.dependencies.feature_1.0.100.201011121519 org.eclipse.mat.feature_1.0.100.201011121519 org.eclipse.mat.ui.rcp.feature_1.0.100.201011121519 There is a p2 directory too: org.eclipse.equinox.p2.core org.eclipse.equinox.p2.engine
This might help: Building p2-enabled products with Tycho http://kaikreuzer.blogspot.com/2010/12/building-p2-enabled-products-with-tycho.html
I made two more changes and now: 1) the org.eclipse.mat.ibmdumps plugin is built fine and usable afterwards 2) the javadoc is build and included in the o.e.m.ui.help plugin. Here I just call explicitly the ant target we had in extrabuild.xml
There was a comment on mat-dev that downloading the Eclipse SDK every time is time consuming. We can use the usetimestamp attribute on get to avoid this. I've also found that I had the Windows Eclipse SDK around, so it would be nice to use this instead if available in p2tool, rather than having to download the Linux one. Also, the FeaturesAndBundlesPublisher doesn't work with encoded URLs. E.g. file:///C:/Documents%20and%20Settings/Administrator/workspace/p2tool/ so we need an uncoded file URL.
I made some progress with the RCP build. The RCPs now contain all root files (licenses, shell scripts, etc...). Also the folder in the zips is not any longer /eclipse, but /mat. I managed to get the p2 UI and the proxy preferences also in. I think with this all my points from comment 3 are solved. Additionally, I added a small post-processing step (ant script) which copies the produced rcps and the update site to /ws/latestBuildResults on hudson. Thus we don't need to navigate to the /target folders. I also made the scipt delete the product/target folder to save some space on the hudson server. Currently the build produces 2 RCPs -> for win 32 and linux 32. I'll try to add more of them step by step. There are still some open points and further improvements possible: 1) the RCPs are currently about 30mb bigger than before. I will look into this 1.1) probably as a result of the previous point there is a Search menu, which we don't need 2) It may be possible to get rid of most of the downloads (except dtfj) in prepare-dep-repos.xml. There is a mojo for doing the publishing in p2 repos: https://github.com/sonatype/tycho-extras/tree/master/tycho-p2-extras-plugin and I thinkthe deltaPack and the test framework can be found in the helios repo. If not, we can at least save the expensive download of the sdk. 3) I'm trying to figure out how to publish "nightly" results on the download servers. The mechanism the egit project uses is shell script + chron job which executes it. I got some help from a colleague here and will try to set this up also for MAT Any other open topics?
Krum, thank you for your work on this. Some other minor problems: No icon on the Eclipse Memory Analyzer window No icon on Windows on the task switcher (Alt-tab) Help->About gives a blank window (with no text and no feature icon(s) The Installation Details -> Feature tab is empty Cheat Sheets still has Team/CVS in it, though I'm not sure we have got all the cheat sheet changes correct with bug 318263. I think the help bundle now has a cheat sheet reference to RC, but I'll have to check.
I get the icons to appear if I modify config.ini to have the line eclipse.product=org.eclipse.mat.ui.rcp.MemoryAnalyzer instead of eclipse.product=MemoryAnalyzer I think this is related to the uid/id change in the mat.product file.
I've updated the product file to give the full name org.eclipse.mat.ui.rcp.MemoryAnalyzer The master node seems to be out of temporary file space, so I've tried switching to hudson-slave1 and hudson-slave2
The dropins folder doesn't work automatically: http://dev.eclipse.org/newslists/news.eclipse.technology.equinox/msg06640.html says that org.eclipse.equinox.p2.reconciler.dropins needs to be started, and if I start it from the OSGi console ( -console then start org.eclipse.equinox.p2.reconciler.dropins ) it does work.
We should remove 'Incubation' from the top pom and the update site. We should also let the update site update the MAT RCP - so perhaps we need two categories, for the IDE and RCP.
vm option -Dosgi.requiredJavaVersion=1.5 is a good option to have for MemoryAnalyzer.ini This gives a pop-up window: Version 1.4.2_18 of the JVM is not suitable for this product. Version: 1.5 or greater is required. instead of a cryptic message in a log file. http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_p2_configuringproducts.htm also says we could add this to config.ini <configurations> <property name="osgi.requiredJavaVersion" value="1.5.0"/> </configurations> Perhaps the latter is better.
DTFJ has been updated by IBM to version 1.5 http://www.ibm.com/developerworks/java/jdk/tools/dtfj.html The version has updated from 1.4.0.201007061358 to 1.5.0.201103111151. I'll update the mat-site.xml to match any version, rather than hard coding the version.
I made a correction to the build - changed the parent pom so that maven.eclipse.org plugin repository is only used when "build-server" profile is activated, i.e. when signing is performed. Because of problems with the content in this repository I struggled for some hours yesterday until I find what is wrong with our builds. Having the new change it would be possible to turn off using this repo without changes in the xml.
I think it's time to close this bug. We recently did the following changes: - refactor the project/file structure, so that it is easier to checkout the projects and buld them with maven (see bug 364589). - I made some changes to the Wiki page which documents the Tycho build: http://wiki.eclipse.org/MemoryAnalyzer/Building_MAT_With_Tycho The build is now working and is documented. If some further problems appear, we should track them in separate messages. I was a long task to get all working :-)