juneau-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Bognar <james.bog...@salesforce.com>
Subject Re: Quick update on status of code.
Date Tue, 09 Aug 2016 00:02:58 GMT
I think what Peter is questioning is what components are we actually
building.  I've struggled with this over the years.

On the one hand, it's nice to have a single jar file with all the code.  On
the other hand, if we're building OSGi bundles, it makes more sense to have
4 separate bundles because of the prereqs.  Here are the product
dependencies....

   - core
      - Jena (optional)
   - server
      - javax.servlet (required)
      - javax.ws.rs (optional)
   - client
      - Apache HttpClient (required)
   - microservice
      - Jetty and some other stuff

We don't want a single OSGi bundle because we don't want to prereq
HttpClient or javax.servlet if they're only using the core serializers and
parsers.

I don't want to lose the single combined normal jar.  Perhaps we introduce
a new project with a POM that simply pulls the 4 OSGi bundles from Maven
and combines them into a single jar?



On Mon, Aug 8, 2016 at 4:56 PM, John D. Ament <johndament@apache.org> wrote:

> Are you referring to eclipse project or something else?  Usually we do 1
> project = 1 git repo.
>
> On Mon, Aug 8, 2016 at 4:55 PM Peter Haumer <phaumer@us.ibm.com> wrote:
>
> > Yes, I understood that, but I was more referring to John's earlier
> comment
> > of "it does not add up". The current assumption is one project for each
> > module and vice versa. If that is questioned then I would drive the
> > decision making process around what we want to support and then decide
> > based on that what the best way of structuring the code is. I want to
> avoid
> > decision making a la "others do it like that" if the cases are not
> directly
> > comparable.
> >
> >
> >
> > Thanks and best regards,
> > Peter Haumer.
> >
> > ______________________________________________________________
> >
> > PETER HAUMER, Dr. rer. nat.
> > IBM zSystems Software
> > ______________________________________________________________
> >
> > [image: Inactive hide details for James Bognar ---08/08/2016 01:48:06
> > PM---Hi Peter, I think you may misunderstand. When you load the]James
> > Bognar ---08/08/2016 01:48:06 PM---Hi Peter, I think you may
> misunderstand.
> > When you load the repo into your workspace,
> >
> >
> >
> > From: James Bognar <james.bognar@salesforce.com>
> > To: dev@juneau.incubator.apache.org
> >
> > Date: 08/08/2016 01:48 PM
> >
> >
> > Subject: Re: Quick update on status of code.
> >
> >
> >
> >
> > Hi Peter,
> >
> > I think you may misunderstand.  When you load the repo into your
> workspace,
> > you get the exact same projects as before PLUS a root-level project
> called
> > "juneau-root".  Nothing has changed structurally.  The only difference is
> > that the releng POM will be moved to the project root, and you can access
> > it through the root-level project.  The releng workspace can probably go
> > away eventually.
> >
> > On Mon, Aug 8, 2016 at 4:42 PM, Peter Haumer <phaumer@us.ibm.com> wrote:
> >
> > > Perhaps we should write down what the requirements are. As John points
> > out
> > > we perhaps do not need many projects. So far I was assuming that we
> want
> > to
> > > be able to build the core project on its own as well as the ability to
> > > build as pojo jar as well as OSGi plugins. Are these assumption really
> > > still valid? Would it make sense to put everything into one Eclipse
> > project
> > > and build everything as one big jar?
> > >
> > > Figuring out what the requirements are will help us to determine
> whether
> > > me make decisions to address these or just because we follow some
> > > convention. Would it make sense to organize a short call?
> > >
> > >
> > > Thanks and best regards,
> > > Peter Haumer.
> > >
> > > ______________________________________________________________
> > >
> > > PETER HAUMER, Dr. rer. nat.
> > > IBM zSystems Software
> > > ______________________________________________________________
> > >
> > > [image: Inactive hide details for James Bognar ---08/08/2016 12:56:02
> > > PM---I was able to put a .project file in the root. Now when you]James
> > > Bognar ---08/08/2016 12:56:02 PM---I was able to put a .project file in
> > the
> > > root. Now when you load your workspace, you'll get all the
> > >
> > > From: James Bognar <james.bognar@salesforce.com>
> > > To: dev@juneau.incubator.apache.org
> > > Date: 08/08/2016 12:56 PM
> > > Subject: Re: Quick update on status of code.
> > > ------------------------------
> > >
> > >
> > >
> > > I was able to put a .project file in the root.  Now when you load your
> > > workspace, you'll get all the individual projects in addition to a
> > > root-level project.  This also gives us access to the root README.md
> file
> > > that gets used on the GitHub mirror.
> > >
> > > On Mon, Aug 8, 2016 at 3:52 PM, Peter Haumer <phaumer@us.ibm.com>
> wrote:
> > >
> > > > I see. I am not familiar with nested Eclipse projects. If you have it
> > > > working then I will check it out.
> > > >
> > > >
> > > >
> > > > Thanks and best regards,
> > > > Peter Haumer.
> > > >
> > > > ______________________________________________________________
> > > >
> > > > PETER HAUMER, Dr. rer. nat.
> > > > IBM zSystems Software
> > > > ______________________________________________________________
> > > >
> > > > [image: Inactive hide details for James Bognar ---08/07/2016 08:44:58
> > > > AM---On Sat, Aug 6, 2016 at 3:19 PM, John D. Ament <johndament@ap
> > ]James
> > > > Bognar ---08/07/2016 08:44:58 AM---On Sat, Aug 6, 2016 at 3:19 PM,
> John
> > > D.
> > > > Ament <johndament@apache.org> wrote: > On Sat, Aug 6, 2016 a
> > > >
> > > > From: James Bognar <james.bognar@salesforce.com>
> > > > To: dev@juneau.incubator.apache.org
> > > > Date: 08/07/2016 08:44 AM
> > > > Subject: Re: Quick update on status of code.
> > > > ------------------------------
> > >
> > > >
> > > >
> > > >
> > > > On Sat, Aug 6, 2016 at 3:19 PM, John D. Ament <johndament@apache.org
> >
> > > > wrote:
> > > >
> > > > > On Sat, Aug 6, 2016 at 3:04 PM James Bognar <
> > > james.bognar@salesforce.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > I still struggle a little bit with setting it up in my IDE.  It
> seems
> > > > like
> > > > > the role of the typical root pom is covered by releng/pom.xml.
> Would
> > > > there
> > > > > be any concerns with moving that to the proper location?
> > > > >
> > > >
> > > > @Peter -
> > > > I've created a root-level .project file.  This will create an eclipse
> > > > project called "juneau-root" where we can place the releng POM.  I'm
> > fine
> > > > with moving the releng POM to the root now that it can be accessed
> > > through
> > > > Eclipse.  Do you agree?
> > > >
> > > > @John -
> > > > One neat thing I just noticed... Our README.md file in the root gets
> > used
> > > > when accessing the project through the GitHub mirror.  I think our
> > GitHub
> > > > mirror should be the primary portal for accessing our source code.
> > It's
> > > > read-only though, right?  If you want to actually contribute, you
> need
> > to
> > > > access the code through the apache git repo?
> > > >
> > > > > One interesting note is that I'm seeing consistent timing
> differences
> > > > when
> > > > > > running the core JUnits under different versions of Java...
> > > > > > Java 6 - ~8 seconds
> > > > > > Java 7 - ~10 seconds
> > > > > > Java 8 - ~4.5 seconds
> > > > > >
> > > > > >
> > > > > I know Jenkins was mentioned.  Should we have builds for all 3
> > > versions?
> > > > > What about 9?  IBM JDKs?
> > > >
> > > >
> > > > Agreed.  We use low-level reflection APIs extensively which can be
> > > subject
> > > > to behavioral differences between vendors and versions.  These tests
> > run
> > > in
> > > > just seconds, so I'm in favor of adding a good mix of JVMs to test
> > > against.
> > > >
> > > >
> > > > I'm in favor of using Jenkins for builds.  If anyone on the team
> > familiar
> > > > with Jenkins?  If not, I'm fine holding off setting that up until
> > later.
> > >  I
> > > > personally have lots of other stuff on my plate (setting up webpage
> and
> > > > confluence workspaces).
> > > >
> > > >
> > > > > > Still missing is running the server JUnits as part of the Maven
> > > build.
> > > > > > These are tricky and I don't know enough about Maven yet to
know
> > how
> > > to
> > > > > > handle these.  The oaj.samples and oaj.server.test projects
get
> > > > executed
> > > > > as
> > > > > > REST microservices on port 10000 and 10001 respectively (they
get
> > > built
> > > > > as
> > > > > > executable jars).  The JUnits in those projects run against
those
> > > > > services
> > > > > > using the RestClient API.  The old ANT script used to execute
> those
> > > > jars
> > > > > > and then run the JUnits.  We'll need to do something similar
> using
> > > > Maven.
> > > > >
> > > > > Those sound like integration tests.  Is there a simple way to start
> > the
> > > > > microservice as a main or something in the code?
> > > > >
> > > >
> > > > Yep....the RestMicroservice class is started up through a main
> method.
> > > We
> > > > invoke it directly when using the juneau-samples launcher to start it
> > up
> > > in
> > > > Eclipse.
> > > > The RestMicroservice class uses info from the MANIFEST.MF file.  But
> it
> > > > works fine whether packaged as an executable jar or loose on the file
> > > > system under ./META-INF/MANIFEST.MF.
> > > >
> > > > @Peter - Can you work on adding these integration tests to the POM
> > files?
> > > >
> > > >
> > > > --
> > > > James Bognar
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > James Bognar
> > >
> > >
> > >
> > >
> >
> >
> > --
> > James Bognar
> >
> >
> >
> >
>



-- 
James Bognar

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message