Browse Source

Add OSGI dependency, activator.

This won't affect normal use of the client, other than it having
a few extra unused classes and some additional lines in the
manifest.

Issue #750
pull/759/head
Chris Smith 7 years ago
parent
commit
3f657ce1dd
3 changed files with 48 additions and 0 deletions
  1. 1
    0
      build.gradle
  2. 5
    0
      gradle/jar.gradle
  3. 42
    0
      src/main/java/com/dmdirc/ClientActivator.java

+ 1
- 0
build.gradle View File

@@ -35,6 +35,7 @@ dependencies {
35 35
     compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.1'
36 36
     compile group: 'com.squareup.dagger', name: 'dagger-compiler', version: '1.2.5'
37 37
     compile group: 'com.google.auto.value', name: 'auto-value', version: '1.3'
38
+    compile group: 'org.osgi', name: 'org.osgi.core', version: '6.0.0'
38 39
 
39 40
     bundle group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7'
40 41
     bundle group: 'org.slf4j', name: 'slf4j-api', version:'1.7.21'

+ 5
- 0
gradle/jar.gradle View File

@@ -62,6 +62,11 @@ jar {
62 62
 
63 63
     manifest {
64 64
         attributes 'Main-Class': 'com.dmdirc.Main'
65
+        attributes 'Bundle-Vendor': 'DMDirc Developers'
66
+        attributes 'Bundle-Copyright': 'Copyright (c) DMDirc Developers 2006-2017'
67
+        attributes 'Bundle-License': 'https://opensource.org/licenses/MIT'
68
+        attributes 'Bundle-Activator': 'com.dmdirc.ClientActivator'
69
+        attributes 'Import-Package': 'org.osgi.framework,javax.swing,javax.swing.text,javax.swing.text.html'
65 70
     }
66 71
 
67 72
     doLast {

+ 42
- 0
src/main/java/com/dmdirc/ClientActivator.java View File

@@ -0,0 +1,42 @@
1
+/*
2
+ * Copyright (c) 2006-2017 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
5
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
7
+ * permit persons to whom the Software is furnished to do so, subject to the following conditions:
8
+ *
9
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
10
+ * Software.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
13
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
14
+ * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
15
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ */
17
+
18
+package com.dmdirc;
19
+
20
+import com.dmdirc.util.io.FileUtils;
21
+import org.osgi.framework.BundleActivator;
22
+import org.osgi.framework.BundleContext;
23
+
24
+/**
25
+ * OSGi bundle activator for the client. Eventually this shouldn't need to exist, as everything will be split into
26
+ * its own bundle.
27
+ */
28
+public class ClientActivator implements BundleActivator {
29
+
30
+    @Override
31
+    public void start(final BundleContext context) throws Exception {
32
+        System.out.println(context.getBundle().getLocation());
33
+        System.out.println(FileUtils.getApplicationPath(ClientActivator.class));
34
+        Main.main("-d", "etc/profile");
35
+    }
36
+
37
+    @Override
38
+    public void stop(final BundleContext context) throws Exception {
39
+        // Uh... *SHRUG*
40
+    }
41
+
42
+}

Loading…
Cancel
Save