Skip to content

Commit

Permalink
Merge pull request #759 from csmith/master
Browse files Browse the repository at this point in the history
Add OSGI dependency, activator.
  • Loading branch information
greboid committed Jan 2, 2017
2 parents dbd9766 + 3f657ce commit bd00c55
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 0 deletions.
1 change: 1 addition & 0 deletions build.gradle
Expand Up @@ -35,6 +35,7 @@ dependencies {
compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.1'
compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.5'
compile group: 'com.google.auto.value', name: 'auto-value', version: '1.3'
compile group: 'org.osgi', name: 'org.osgi.core', version: '6.0.0'

bundle group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7'
bundle group: 'org.slf4j', name: 'slf4j-api', version:'1.7.21'
Expand Down
5 changes: 5 additions & 0 deletions gradle/jar.gradle
Expand Up @@ -62,6 +62,11 @@ jar {

manifest {
attributes 'Main-Class': 'com.dmdirc.Main'
attributes 'Bundle-Vendor': 'DMDirc Developers'
attributes 'Bundle-Copyright': 'Copyright (c) DMDirc Developers 2006-2017'
attributes 'Bundle-License': 'https://opensource.org/licenses/MIT'
attributes 'Bundle-Activator': 'com.dmdirc.ClientActivator'
attributes 'Import-Package': 'org.osgi.framework,javax.swing,javax.swing.text,javax.swing.text.html'
}

doLast {
Expand Down
42 changes: 42 additions & 0 deletions src/main/java/com/dmdirc/ClientActivator.java
@@ -0,0 +1,42 @@
/*
* Copyright (c) 2006-2017 DMDirc Developers
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
* OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

package com.dmdirc;

import com.dmdirc.util.io.FileUtils;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

/**
* OSGi bundle activator for the client. Eventually this shouldn't need to exist, as everything will be split into
* its own bundle.
*/
public class ClientActivator implements BundleActivator {

@Override
public void start(final BundleContext context) throws Exception {
System.out.println(context.getBundle().getLocation());
System.out.println(FileUtils.getApplicationPath(ClientActivator.class));
Main.main("-d", "etc/profile");
}

@Override
public void stop(final BundleContext context) throws Exception {
// Uh... *SHRUG*
}

}

0 comments on commit bd00c55

Please sign in to comment.