eclipse-kura / kura

Eclipse Kura™ is a versatile framework to supercharge your edge devices, streamlining the process of configuring your gateway, connecting sensors, and IoT devices to seamlessly collect, process, and send data to the cloud.
https://eclipse.dev/kura/
Eclipse Public License 2.0
502 stars 309 forks source link

Create a CQ for build and test dependencies #538

Closed ctron closed 8 years ago

ctron commented 8 years ago

Please assembly a list of all build and test dependencies and start a works-with CQ.

A few dependencies I stumbled over are:

cdealti commented 8 years ago

Please see https://wiki.eclipse.org/Development_Resources/IP/Test_and_Build_Dependencies.

cdealti commented 8 years ago

@dwoodard1 I understand you checked other Eclipse projects. What are your findings?

dwoodard1 commented 8 years ago

There are projects that definitely have them. For example [1]. Jens mentioned we could collapse all build/test dependencies into a single CQ. @ctron Could you elaborate on this?

[1]https://dev.eclipse.org/ipzilla/show_bug.cgi?id=9425

ctron commented 8 years ago

I am not sure what I can say in addition to the link @cdealti already shared. Yes, you can throw all your build and test dependencies into one CQ. And that should be done in order to speed up things.

Maybe have a look at: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=10825

ctron commented 8 years ago

Please add "de.dentrassi.maven:osgi-dp:0.3.0" to that final list.

cdealti commented 8 years ago

@ctron Is the following the full list of build & test dependencies?

  1. All maven plugins in the Kura POM files
  2. The build & test dependencies of the jars in the target-platform project
  3. The build & test dependencies of #545
  4. The tools to compile the Kura native libraries. Do we need to specify versions for Make, GCC etc?

What else?

ctron commented 8 years ago

Yes, you need versions. The versions should be the versions you where using. If the user chooses different versions, then he may do that. But still you need the versions of the tools you required.

I do think there are some dependencies for the "jdk.dio" build chain as well. For "usb"? "soda"?

In general all tools which are required by Kura to build it from scratch, in all variants. Including all tools which are referenced.

Python? Perl? Ant Tasks? Special command line applications?

cdealti commented 8 years ago

A lot of fun

ctron commented 8 years ago

That's why it is a good idea to always check first, and then pull in dependencies.

cdealti commented 8 years ago
dwoodard1 commented 8 years ago

We only need to include direct dependencies, no transitive dependencies. We don't have to include any Eclipse projects. We should probably include EPL licensed dependencies if they are not Eclipse projects.

ctron commented 8 years ago

@dwoodard1 correct!

cdealti commented 8 years ago

@dwoodard1 can you take care of putting together this list?

dwoodard1 commented 8 years ago

@cdealti Yes, it has been on my to-do list. I will try and get it done today. For some reason the maven dependency tool appeared to be missing several dependencies, have been trying to figure out why that is. @ctron Are there options you use for these types of multi-module projects to get reliable results?

ctron commented 8 years ago

I would like to see on that list:

Maven Plugin Id | Version | License
de.dentrassi.maven:rpm | 0.8.0 | EPL
de.dentrassi.maven:osgi-dp | 0.3.0 | EPL

In addition:

Bash | 4 | GPLv3+
Dialog | 1.2 | LGPLv2
Docker | 1.10 | ASL 2.0
GNU Make | 3.82 | GPLv2+
GCC | 4.8.5 | GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
dwoodard1 commented 8 years ago

The CQ has been created: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=12200