Return-Path: X-Original-To: apmail-felix-users-archive@minotaur.apache.org Delivered-To: apmail-felix-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0694B107B0 for ; Wed, 25 Jun 2014 15:45:30 +0000 (UTC) Received: (qmail 22379 invoked by uid 500); 25 Jun 2014 15:45:29 -0000 Delivered-To: apmail-felix-users-archive@felix.apache.org Received: (qmail 22323 invoked by uid 500); 25 Jun 2014 15:45:29 -0000 Mailing-List: contact users-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@felix.apache.org Delivered-To: mailing list users@felix.apache.org Received: (qmail 22311 invoked by uid 99); 25 Jun 2014 15:45:29 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2014 15:45:29 +0000 X-ASF-Spam-Status: No, hits=-0.1 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [12.161.118.91] (HELO mx2.belden.com) (12.161.118.91) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jun 2014 15:45:24 +0000 X-AuditID: 0a01015b-b7f238e00000015d-46-53aaee7aba01 Received: from bdcnotes1.belden.com ( [10.1.1.71]) by mx2.belden.com (Service Ready) with SMTP id F9.C8.00349.A7EEAA35; Wed, 25 Jun 2014 11:44:59 -0400 (EDT) In-Reply-To: References: To: users@felix.apache.org MIME-Version: 1.0 Subject: Re: iPojo workflow X-KeepSent: E86F3963:8F460F78-85257D02:004BED43; type=4; name=$KeepSent X-Mailer: Lotus Notes Release 8.5.3FP2 SHF99 September 04, 2012 From: Alejandro.Endo@miranda.com Message-ID: Date: Wed, 25 Jun 2014 11:45:00 -0400 X-MIMETrack: Serialize by Router on BDCNotes1/BeldenCDT(Release 9.0 HF625|September 19, 2013) at 06/25/2014 11:44:59 AM, Serialize complete at 06/25/2014 11:44:59 AM Content-Type: multipart/alternative; boundary="=_alternative 0056848885257D02_=" X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpmleLIzCtJLcpLzFFi42LhYmR0161+tyrYoGkBo0Xn42PsDowebyfc YA1gjGpgtElKLCkLzkzP07ezSczLyy9JLElVSEktTrZVckrNSUnNU3DJLE7OSczMTS3S9Qz2 17WwMLVUUshMsVUyUlIoyElMTs1NzSuxVUosKEjNS1Gy41LAADZAZZl5Cql5yfkpmXnptkqh IW66Fkp2Lp7BzgmtrBnXDs1nL2jLrNg+9RlbA+PxsC5GTg4JAROJRRNfsEPYYhIX7q1n62Lk 4hASmM8oMf/0LtYuRg4OTgEHiT83i0FMIQF7iVmzckDKRQSkJHZ8O80KYvMKCEqcnPmEBcQW FpCWmHaulxGkXELAU+Lc1niI6fYS3x99ACthE1CQmHtlExtEa5DEhvfzmEBsFgFVifWPOphA LpAQWMkosXfOFbAEs0CAxPpLX9gmMPLPQrJuFpIUhK0nMeVqCyOErS2xbOFrZghbV+LC/yks yOILGNlWMfLlVhjpJYEjQC85P3cTIyQio3cwHvuheohRgINRiYf3z5yVwUKsiWXFlbmHGCU4 mJVEeKOerwoW4k1JrKxKLcqPLyrNSS0+xBgEdP9EZinu5HxgssgriTc2MCCSoyTO+/VTTbCQ QDowWWSnphakFsEMZeLgBFnKJSVSDIz31KLE0pKMeFBiii8GpiapBsbomuDuGXLzs/Qu/Mi6 5bbR1u5iOVfmjIgntjs4Pk358jJZX05AYvvGeXou/jcfs8rEft9xeZPrSuMZcVcFb/HOnVyU +PL/lfdWHg6BMcf5XrI39v+yq89Q5WrnX7lPgpVDpcqVR3nmTcby7q2la1aGf2bSU5RWecia 7rtD+Fj2Md/KazO6lyqxFGckGmoxFxUnAgBWeqqSFgMAAA== X-Virus-Checked: Checked by ClamAV on apache.org --=_alternative 0056848885257D02_= Content-Type: text/plain; charset="ISO-8859-1" content-transfer-encoding: quoted-printable that sounds great Clement! I will wait until next week to try it then since I do need Java 8 support One small question though, can this run on top of equinox instead of felix? Alejandro Endo | Software Designer/Concepteur de logiciels From: Clement Escoffier To: Apache Felix - Users Mailing List , Date: 2014-06-25 04:18 AM Subject: Re: iPojo workflow Hi, We are working on a new toolset to speed up the development of iPOJO applications. So far, theses tools are developed for web applications, but can be applied almost everywhere. In the Wisdom Project (http://wisdom-framework.org), we developed a ?watch? mode based on Apache Maven. Why Maven ? Because it?s our reference, and all our developers, our CI servers even our QA team uses it. So, it avoids the uncanny valley feeling you have using IDE-centric development. With Wisdom, you launch Maven once, and it does its job on every file change. Wisdom is based on Apache Felix and iPOJO meaning that Wisdom artifacts are OSGi bundles that, if they contain iPOJO components, are also manipulated. So, what about the process with this tool: - you create a project - you import the project into intellij or eclipse as a Maven project or as an Eclipse project (after having executed mvn eclipse:eclipse) - you launch mvn wisdom:run - it launches a Felix framework with all the Wisdom services (including iPOJO, Configuration Admin?) - you are all set, happy coding Then, every time you save a file from your project, it re-compiles, rebuilds the bundle and redeploys it. Notice that, the launched Felix framework contains all the bundles on which your project depends on. So, if in your project?s pom file, you have a dependency that is a bundle, it is deployed (by default, Wisdom also deploy transitive dependencies). Wisdom also provides testing support reproducing the configuration, deploy your bundles and let you test your services, components and so on. If you are developing web applications it also offers blackbox and selenium/fluentlenium support. The 0.6 version of Wisdom is going to be released on Friday. This new version supports Java 8, and a basic support for multi-module projects. The experiences, we are running in Wisdom, are going to be integrated in iPOJO. In other words, the watch mode and ?distribution-based-development? are on the iPOJO 2 roadmap. Regards, Clement PS: Wisdom is not part of Apache Felix, but it?s open source and licensed under the ASL 2.0. On 23 juin 2014 at 21:29:38, alejandro.endo@miranda.com (alejandro.endo@miranda.com) wrote: I was wondering what kind of workflow some of the people in the mailing list use for developing with iPojo. Can some of you give me some details of how the normal development cycle of changing code, building, provisioning, running goes? The one I was using before we needed Java 8 was: 1) Modify the code 2) The iPojo nature plugin did the bytecode manipulation in the .class. All this automatically and within eclipse, just as soon as you did CTRL+S 3) The Tycho Configurator + maven-bundle-plugin did the manifest generation including the IPOJO-Components, also within eclipse and as soon as you did CTRL+S 4) I ran (by restarting the OSGi container every time) using PDE with equinox by just setting the iPojo bundle as part of the target platform and my bundles with the iPojo components ran from the workspace (i.e. as exploded jars) This was a pain to configure for new developers and you had to remember to enable the iPojo nature in projects that had ipojo components since it was not added automatically by m2e Now that the iPojo Nature doesn't work well with iPojo 1.12 i'm thinking of some better workflows. I am thinking of something like this 1) Modify the code 2) run mvn package to construct the jar already manipulated (via maven-ipojo-plugin) and the bnd-ipojo-plugin to ipojo'ize the manifest 3) provision the jar to a running instance of equinox, maybe just moving the jar to a file watched by felix file-install. This way i won't have to restart the container every time Some problems I foresee with the new workflow are. 1) you need to run maven every time, which is slow, so maybe the whole chain will not be triggered with just CTRL+S but with an explicit action to start the whole pipeline when the developer is ready to test. 2) i need to find a way to move the jar to the file-install folder, probably via some maven hack (unless someone has an idea on how to provision directly to equinox via a maven plugin or something?) Any other workflow you guys can share will help me. I am looking for maven-friendly workflows since at the end I need to be able to build the production bundles in a central Jenkins build Thank you Alejandro Endo | Software Designer/Concepteur de logiciels DISCLAIMER: Privileged and/or Confidential information may be contained in this message. If you are not the addressee of this message, you may not copy, use or deliver this message to anyone. In such event, you should destroy the message and kindly notify the sender by reply e-mail. It is understood that opinions or conclusions that do not relate to the official business of the company are neither given nor endorsed by the company. Thank You. DISCLAIMER: Privileged and/or Confidential information may be contained in this message. If you are not the addressee of this message, you may not copy, use or deliver this message to anyone. In such event, you should destroy the message and kindly notify the sender by reply e-mail. It is understood that opinions or conclusions that do not relate to the official business of the company are neither given nor endorsed by the company. Thank You. --=_alternative 0056848885257D02_=--