Giter Site home page Giter Site logo

workspace's Introduction

Bndtools: OSGi Development Tools for Eclipse

=====================

Please visit the Bndtools Home Page for full documentation.

Installation

Install using the Eclipse installer, using the following update site URL:

https://dl.bintray.com/bndtools/bndtools/latest/

If you are feeling brave, install the latest alpha version from the following update site URLs instead:

https://bndtools.ci.cloudbees.com/job/bndtools.master/lastSuccessfulBuild/artifact/build/generated/p2/

License

BndTools is licensed under the Eclipse Public License v1.0.

Building

Gradle is used to build bndtools. The workspace root has a build.gradle file that builds all projects in proper order.

./gradlew - Assembles and packages the projects into build/generated

The workspace root also includes the gradle wrapper, gradlew, command.

CloudBees Build Status Travis CI Build Status

Release

bndtools is continuously built and released on CloudBees.

Built on DEV@cloud

Feedback

Feedback is always welcome, for general discussions use the [email protected] list. We also have the [email protected] list for discussions on the development of bndtools.

Bugs and issues should go to https://github.com/bndtools/bndtools/issues

Contributing

Want to hack on bndtools? There are instructions to get you started.

They are probably not perfect, please let us know if anything feels wrong or incomplete.

Acknowledgements

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

YourKit

workspace's People

Contributors

bjhargrave avatar kriegfrj avatar njbartlett avatar scottslewis avatar seanbright avatar timothyjward avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

workspace's Issues

New Bnd OSGi Workspace from template bndtools/workspace branch: origin/6.4 fails.

Using a fresh Eclipse IDE 2022โ€‘12, installing Bndtools using the Marketplace is not able to create a new workspace (tested on Windows and Ubuntu).

In the Preview Changes window it shows the error:

"Checkout conflict with files: gradle.properties"

The list of files is empty. Next > button is disabled.

Version:
Bndtools 6.4.0.REL-202211291949-g25e4898 bndtools.main.feature.feature.group Bndtools

The resolve plugin only works for the mainSourceSet.getRuntimeClasspath() and artifacts

Please add a Configuration property for the resolve plugin for which you can set a configuration like this sample task:

val resolveTask = tasks.register<aQute.bnd.gradle.Resolve>("resolve") {
    description = "Resolve test.bndrun"
    group = "test"
    configuration.set(configurations.testRuntimeClasspath)
    bndrun.set(file("test.bndrun"))
    outputBndrun.set(layout.buildDirectory.file("test.bndrun"))
}

I am not allowed to make large source contributions but this is how I patched the plugin in AbstractBndrun.java

+       private final Property<Configuration>           configuration;
 
        /**
         * The bndrun file for the execution.
@@ -113,6 +116,12 @@ public abstract class AbstractBndrun extends DefaultTask {
                return bundles;
        }
 
+       @Input
+       @org.gradle.api.tasks.Optional
+       public Property<Configuration> getConfiguration(){
+               return configuration;
+       }
`
 @ line 352
`                                if (!workspace.isPresent()) {
-                                       FileSetRepository fileSetRepository = new FileSetRepository(getName(), getBundles().getFiles());
+                                       final Set<File> repositoryFiles = new HashSet<>();
+                                       repositoryFiles.addAll(getBundles().getFiles());
+                                       if (getConfiguration().isPresent()){
+                                               repositoryFiles.addAll(getConfiguration().get().resolve());
+                                       }
+                                       FileSetRepository fileSetRepository = new FileSetRepository(getName(), repositoryFiles);

Felix Web Console issue

Hi,

I'm trying to upgrade an older OSGi application to a newer version of OSGi and bnd. I want to base my new version on this workspace, but I run into problems with the Felix Web Console. The problem is a bit hard for me to pin down, so I thought I'll ask for help here.

The application relies heavily on Configuration Admin and Metatype, and I always use the Felix Web Console. But when I go to the Configuration page (http://localhost:8080/system/console/configMgr), I get a Javascript error: Uncaught TypeError: parsers is undefined. The weird thing is... even if I downgrade the webconsole bundles to the versions that I have been using without problems for years, I get the same error. The cause of the problem somehow doesn't seem to be in the web console implementation itself.

Below you can find the contents of my bndrun file:

-runfw: org.eclipse.osgi;version='[3.13.100.v20180827-1536,3.13.100.v20180827-1536]'
-runprovidedcapabilities: ${native_capability}

-resolve.effective: active

-runproperties: \
	org.osgi.service.http.port=8080,\
	osgi.console=,\
	osgi.console.enable.builtin=false

-runrequires: \
	bnd.identity;id='com.example',\
	bnd.identity;id='org.apache.felix.webconsole',\
	bnd.identity;id='org.apache.felix.webconsole.plugins.ds',\
	bnd.identity;id='org.apache.felix.configadmin',\
	bnd.identity;id='org.apache.felix.http.jetty',\
	bnd.identity;id='org.osgi.service.metatype',\
	bnd.identity;id='org.apache.felix.scr'

-runee: JavaSE-14

-runbundles: \
	com.example;version=snapshot,\
	org.apache.commons.fileupload;version='[1.3.3,1.3.4)',\
	org.apache.commons.io;version='[2.6.0,2.6.1)',\
	org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
	org.apache.felix.http.jetty;version='[4.0.6,4.0.7)',\
	org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
	org.apache.felix.inventory;version='[1.0.4,1.0.5)',\
	org.apache.felix.scr;version='[2.1.10,2.1.11)',\
	org.apache.felix.webconsole;version='[4.3.4,4.3.5)',\
	org.apache.felix.webconsole.plugins.ds;version='[2.0.8,2.0.9)',\
	org.osgi.service.log;version='[1.4.0,1.4.1)',\
	org.osgi.service.metatype;version='[1.4.0,1.4.1)',\
	org.osgi.util.function;version='[1.1.0,1.1.1)',\
	org.osgi.util.promise;version='[1.1.0,1.1.1)',\
	org.osgi.util.pushstream;version='[1.0.0,1.0.1)'

I used this repository as my workspace, and only added an empty component project and this file.

I understand this might not be the right place to post this issue, but any help would be much appriated!

Wilco

Update repos for API, Ref Impl, Enterprise, Testing, Debug from R7 to R8

Currently, the build.bnd for the bndtools/workspace template has all R7 repos defined. This should be updated to R8 prior to bndtools 7 release.

Also FWIW, the R7 repos referenced in this template do not provide access to the component annotations and this prevents the new service wizard generated code from compiling. I'm assuming that this workspace template should at least contain R8 versions all of the component annotations, org.osgi.annotation.bundle annotations (as central.maven now has), as well as impls of framework, scr and R8 analogs to ref impls (of at least 'many/most' services?)?

i'm not sure where the R8 API, Ref Impls, etc are right now so can't construct proposals/prs for R8 API, Enterprise, Ref Impl, Testing, Debug repos.

slight changes

The default workspace template we have is great to start with and also to keep up with new Versions, especially for the gradle build.

We and also a lot f our customers use it as a basic template. That said, I'd like to restructure it a bit to make it easier to reapply the template with our build-in mechanism without overwriting to many project specific settings.

My goal would be simply speaking to move all the definition of the build.bnd to separate bnd files in the ext folder. While at it, I'd like to remove the templates repo and simply point to their GAV.

When we have everything in separate files, one can simply reapply the template in bndtools and uncheck the parts I don't need or want.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.