I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit e3ab9f8e authored by meeh's avatar meeh
Browse files

OSX Launcher: Swift GUI code updates, most related to the new launch method.

parent 96d31995
No related branches found
No related tags found
No related merge requests found
......@@ -18,18 +18,16 @@
BF1EFA47215141640014EB07 /* base.zip in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA44215141630014EB07 /* base.zip */; };
BF1EFA48215141640014EB07 /* ItoopieTransparent.png in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA45215141640014EB07 /* ItoopieTransparent.png */; };
BF3143FE2160C1BD0014EB07 /* DownloadJavaViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF3143FD2160C1BD0014EB07 /* DownloadJavaViewController.swift */; };
BF4AA39F215AA58B0014EB07 /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF4AA39E215AA58B0014EB07 /* NetworkExtension.framework */; };
BF5061702113C48E0014EB07 /* I2PLauncher.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = BF50616E2113C48E0014EB07 /* I2PLauncher.xcdatamodeld */; };
BF5061722113C4900014EB07 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BF5061712113C4900014EB07 /* Assets.xcassets */; };
BF5061752113C4900014EB07 /* UserInterfaces.xib in Resources */ = {isa = PBXBuildFile; fileRef = BF5061732113C4900014EB07 /* UserInterfaces.xib */; };
BF5061962113C84E0014EB07 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF5061952113C84E0014EB07 /* Cocoa.framework */; };
BF5315072150C55B0014EB07 /* RouterRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5315062150C55B0014EB07 /* RouterRunner.swift */; };
BF53150B2150C6E80014EB07 /* I2PSubprocess.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF53150A2150C6E80014EB07 /* I2PSubprocess.swift */; };
BF53150D2150CE310014EB07 /* DateTimeUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF53150C2150CE310014EB07 /* DateTimeUtils.swift */; };
BF5315132150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5315122150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift */; };
BF531515215105B40014EB07 /* LogViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF531514215105B40014EB07 /* LogViewController.swift */; };
BF650CA92152AC7D0014EB07 /* bumpInfoPlist.sh in Resources */ = {isa = PBXBuildFile; fileRef = BF650CA52152AC7D0014EB07 /* bumpInfoPlist.sh */; };
BF650CAB2152AC7D0014EB07 /* Deployer.m in Sources */ = {isa = PBXBuildFile; fileRef = BF650CA72152AC7D0014EB07 /* Deployer.m */; };
BF650CAB2152AC7D0014EB07 /* Deployer.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF650CA72152AC7D0014EB07 /* Deployer.mm */; };
BF7506CB21509CFD0014EB07 /* RouterProcessStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7506CA21509CFD0014EB07 /* RouterProcessStatus.swift */; };
BF86541321515CA00014EB07 /* launcher.jar in Resources */ = {isa = PBXBuildFile; fileRef = BF1EFA46215141640014EB07 /* launcher.jar */; };
BF865417215182820014EB07 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF865416215182820014EB07 /* Foundation.framework */; };
......@@ -46,27 +44,15 @@
BFBDCB0021505BEE0014EB07 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFBDCAFF21505BED0014EB07 /* AppKit.framework */; };
BFBDCB02215060190014EB07 /* DetectJava.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCB01215060190014EB07 /* DetectJava.swift */; };
BFBDCB04215060970014EB07 /* StatusBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBDCB03215060970014EB07 /* StatusBarController.swift */; };
BFD899432169EE9F0014EB07 /* LaunchAgent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899422169EE9F0014EB07 /* LaunchAgent.swift */; };
BFD899452169EFE90014EB07 /* LaunchAgent+Status.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899442169EFE90014EB07 /* LaunchAgent+Status.swift */; };
BFD899472169F01B0014EB07 /* LaunchAgentManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD899462169F01B0014EB07 /* LaunchAgentManager.swift */; };
BFDD81DA2156B3E30014EB07 /* RouterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFDD81D92156B3E30014EB07 /* RouterManager.swift */; };
BFE16BF82156C61E0014EB07 /* RouterStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE16BF72156C61E0014EB07 /* RouterStatusView.swift */; };
BFE16BFA2156DAED0014EB07 /* EventManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE16BF92156DAED0014EB07 /* EventManager.swift */; };
BFE16BFE2156FD2A0014EB07 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFE16BFD2156FD290014EB07 /* Sparkle.framework */; };
BFE16C002156FD9E0014EB07 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BFE16BFD2156FD290014EB07 /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
BFE1CBAD2151908F0014EB07 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BFE1CBAC2151908F0014EB07 /* CoreFoundation.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
BFE16BFF2156FD890014EB07 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
BFE16C002156FD9E0014EB07 /* Sparkle.framework in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
BF07789621506C810014EB07 /* Storyboard.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Storyboard.storyboard; sourceTree = "<group>"; };
BF07789C21506D2B0014EB07 /* PopoverViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopoverViewController.swift; sourceTree = "<group>"; };
......@@ -88,7 +74,6 @@
BF1EFA46215141640014EB07 /* launcher.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; path = launcher.jar; sourceTree = "<group>"; };
BF3143FD2160C1BD0014EB07 /* DownloadJavaViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadJavaViewController.swift; sourceTree = "<group>"; };
BF3143FF2160CA350014EB07 /* logger_c.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = logger_c.h; sourceTree = "<group>"; };
BF4AA39E215AA58B0014EB07 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/NetworkExtension.framework; sourceTree = DEVELOPER_DIR; };
BF5061682113C48E0014EB07 /* I2PLauncher.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = I2PLauncher.app; sourceTree = BUILT_PRODUCTS_DIR; };
BF50616F2113C48E0014EB07 /* I2PLauncher.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = I2PLauncher.xcdatamodel; sourceTree = "<group>"; };
BF5061712113C4900014EB07 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
......@@ -97,12 +82,11 @@
BF5061792113C4900014EB07 /* I2PLauncher.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = I2PLauncher.entitlements; sourceTree = "<group>"; };
BF5061952113C84E0014EB07 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
BF5315062150C55B0014EB07 /* RouterRunner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterRunner.swift; sourceTree = "<group>"; };
BF53150A2150C6E80014EB07 /* I2PSubprocess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = I2PSubprocess.swift; sourceTree = "<group>"; };
BF53150C2150CE310014EB07 /* DateTimeUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateTimeUtils.swift; sourceTree = "<group>"; };
BF5315122150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "RouterProcessStatus+ObjectiveC.swift"; sourceTree = "<group>"; };
BF531514215105B40014EB07 /* LogViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogViewController.swift; sourceTree = "<group>"; };
BF650CA52152AC7D0014EB07 /* bumpInfoPlist.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = bumpInfoPlist.sh; sourceTree = SOURCE_ROOT; };
BF650CA72152AC7D0014EB07 /* Deployer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Deployer.m; sourceTree = SOURCE_ROOT; };
BF650CA72152AC7D0014EB07 /* Deployer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Deployer.mm; sourceTree = SOURCE_ROOT; };
BF650CA82152AC7D0014EB07 /* Deployer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deployer.h; sourceTree = SOURCE_ROOT; };
BF7506CA21509CFD0014EB07 /* RouterProcessStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterProcessStatus.swift; sourceTree = "<group>"; };
BF865414215180F60014EB07 /* libswiftDarwin.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libswiftDarwin.tbd; path = System/Library/PrivateFrameworks/Swift/libswiftDarwin.tbd; sourceTree = SDKROOT; };
......@@ -121,6 +105,9 @@
BFBDCAFF21505BED0014EB07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
BFBDCB01215060190014EB07 /* DetectJava.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetectJava.swift; sourceTree = "<group>"; };
BFBDCB03215060970014EB07 /* StatusBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBarController.swift; sourceTree = "<group>"; };
BFD899422169EE9F0014EB07 /* LaunchAgent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchAgent.swift; sourceTree = "<group>"; };
BFD899442169EFE90014EB07 /* LaunchAgent+Status.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LaunchAgent+Status.swift"; sourceTree = "<group>"; };
BFD899462169F01B0014EB07 /* LaunchAgentManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchAgentManager.swift; sourceTree = "<group>"; };
BFDD81D92156B3E30014EB07 /* RouterManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterManager.swift; sourceTree = "<group>"; };
BFE16BF72156C61E0014EB07 /* RouterStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterStatusView.swift; sourceTree = "<group>"; };
BFE16BF92156DAED0014EB07 /* EventManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventManager.swift; sourceTree = "<group>"; };
......@@ -135,9 +122,7 @@
buildActionMask = 2147483647;
files = (
BFE1CBAD2151908F0014EB07 /* CoreFoundation.framework in Frameworks */,
BF4AA39F215AA58B0014EB07 /* NetworkExtension.framework in Frameworks */,
BF865417215182820014EB07 /* Foundation.framework in Frameworks */,
BFE16BFE2156FD2A0014EB07 /* Sparkle.framework in Frameworks */,
BFBDCB0021505BEE0014EB07 /* AppKit.framework in Frameworks */,
BF5061962113C84E0014EB07 /* Cocoa.framework in Frameworks */,
);
......@@ -202,7 +187,7 @@
BF14B70B215C98DC0014EB07 /* LoggerWorker.hpp */,
BF650CA52152AC7D0014EB07 /* bumpInfoPlist.sh */,
BF650CA82152AC7D0014EB07 /* Deployer.h */,
BF650CA72152AC7D0014EB07 /* Deployer.m */,
BF650CA72152AC7D0014EB07 /* Deployer.mm */,
BF1EFA42215141220014EB07 /* include */,
BF1EFA3F215141110014EB07 /* AppDelegate.h */,
BF3143FF2160CA350014EB07 /* logger_c.h */,
......@@ -230,7 +215,6 @@
BF5061922113C6ED0014EB07 /* Frameworks */ = {
isa = PBXGroup;
children = (
BF4AA39E215AA58B0014EB07 /* NetworkExtension.framework */,
BFE16BFD2156FD290014EB07 /* Sparkle.framework */,
BFE1CBAC2151908F0014EB07 /* CoreFoundation.framework */,
BF865416215182820014EB07 /* Foundation.framework */,
......@@ -248,7 +232,6 @@
BF7506CA21509CFD0014EB07 /* RouterProcessStatus.swift */,
BF5315122150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift */,
BF5315062150C55B0014EB07 /* RouterRunner.swift */,
BF53150A2150C6E80014EB07 /* I2PSubprocess.swift */,
BFDD81D92156B3E30014EB07 /* RouterManager.swift */,
);
path = routermgmt;
......@@ -263,6 +246,9 @@
BF53150C2150CE310014EB07 /* DateTimeUtils.swift */,
BFE16BF92156DAED0014EB07 /* EventManager.swift */,
BF14B711215D9E040014EB07 /* FolderContentMonitor.swift */,
BFD899422169EE9F0014EB07 /* LaunchAgent.swift */,
BFD899442169EFE90014EB07 /* LaunchAgent+Status.swift */,
BFD899462169F01B0014EB07 /* LaunchAgentManager.swift */,
);
path = Utils;
sourceTree = "<group>";
......@@ -279,7 +265,6 @@
BF5061652113C48E0014EB07 /* Frameworks */,
BF1EFA4B215142030014EB07 /* ShellScript */,
BF5061662113C48E0014EB07 /* Resources */,
BFE16BFF2156FD890014EB07 /* CopyFiles */,
);
buildRules = (
);
......@@ -303,7 +288,7 @@
CreatedOnToolsVersion = 9.4.1;
DevelopmentTeam = W3C42P2LA8;
LastSwiftMigration = 0940;
ProvisioningStyle = Automatic;
ProvisioningStyle = Manual;
SystemCapabilities = {
com.apple.ApplicationGroups.Mac = {
enabled = 0;
......@@ -312,7 +297,7 @@
enabled = 1;
};
com.apple.NetworkExtensions = {
enabled = 1;
enabled = 0;
};
com.apple.Sandbox = {
enabled = 0;
......@@ -385,7 +370,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "# Run from launchers/macosx\nset -x\n\n# Warning to keep clean files\nfind \"${SRCROOT}\" \\( -name \"*.h\" -or -name \"*.m\" \\) -print0 | xargs -0 wc -l | awk '$1 > 200 && $2 != \"total\" { print $2 \":1: warning: file more than 200 lines\" }'\n\nexport BUILDDIR=$(pwd)\nexport MACOSX_SOURCE_DIR=$SRCROOT\nexport I2P_SOURCE_DIR=$(realpath $SRCROOT/../..)\ncd $MACOSX_SOURCE_DIR/..\n# TODO: Find out why sbt hangs when executed in cli\n#./sbt \";macosx:assembly\"\ncd ..\ncd $I2P_SOURCE_DIR\nant preppkg-osx\ncd pkg-temp\nrm -f $BUILDDIR/base.zip\nzip -r -v -9 $BUILDDIR/base.zip *\ncd $MACOSX_SOURCE_DIR\ncp $MACOSX_SOURCE_DIR/target/scala-2.11/routerLauncher-assembly-0.1.0-SNAPSHOT.jar $BUILDDIR/launcher.jar\n\n\n";
shellScript = "# Run from launchers/macosx\nset -x\n\n# Warning to keep clean files\nfind \"${SRCROOT}\" \\( -name \"*.h\" -or -name \"*.m\" \\) -print0 | xargs -0 wc -l | awk '$1 > 200 && $2 != \"total\" { print $2 \":1: warning: file more than 200 lines\" }'\n\nif [ ! -z \"${REPACK_I2P}\" ]; then\n export BUILDDIR=$(pwd)\n export MACOSX_SOURCE_DIR=$SRCROOT\n export I2P_SOURCE_DIR=$(realpath $SRCROOT/../..)\n cd $MACOSX_SOURCE_DIR/..\n # TODO: Find out why sbt hangs when executed in cli\n #./sbt \";macosx:assembly\"\n cd ..\n cd $I2P_SOURCE_DIR\n ant preppkg-osx jbigi-osx-only\n cp build/jbigi.jar pkg-temp/lib/jbigi.jar\n cd pkg-temp\n rm -f $BUILDDIR/base.zip\n zip -r -v -9 $BUILDDIR/base.zip *\n cd $MACOSX_SOURCE_DIR\n cp $MACOSX_SOURCE_DIR/target/scala-2.11/routerLauncher-assembly-0.1.0-SNAPSHOT.jar $BUILDDIR/launcher.jar\nfi\n\n";
};
/* End PBXShellScriptBuildPhase section */
......@@ -408,16 +393,18 @@
BFBDCAED215041C10014EB07 /* Subprocess+CompactAPI.swift in Sources */,
BFBDCB02215060190014EB07 /* DetectJava.swift in Sources */,
BF07789E21506D2B0014EB07 /* PopoverViewController.swift in Sources */,
BF650CAB2152AC7D0014EB07 /* Deployer.m in Sources */,
BFD899472169F01B0014EB07 /* LaunchAgentManager.swift in Sources */,
BF650CAB2152AC7D0014EB07 /* Deployer.mm in Sources */,
BF1EFA40215141110014EB07 /* main.mm in Sources */,
BFBDCAF4215042670014EB07 /* AppleStuffExceptionHandler.m in Sources */,
BF3143FE2160C1BD0014EB07 /* DownloadJavaViewController.swift in Sources */,
BF531515215105B40014EB07 /* LogViewController.swift in Sources */,
BF5315132150EB510014EB07 /* RouterProcessStatus+ObjectiveC.swift in Sources */,
BFD899452169EFE90014EB07 /* LaunchAgent+Status.swift in Sources */,
BF14B712215D9E040014EB07 /* FolderContentMonitor.swift in Sources */,
BFBDCAFE2150567D0014EB07 /* SwiftMainDelegate.swift in Sources */,
BFD899432169EE9F0014EB07 /* LaunchAgent.swift in Sources */,
BFDD81DA2156B3E30014EB07 /* RouterManager.swift in Sources */,
BF53150B2150C6E80014EB07 /* I2PSubprocess.swift in Sources */,
BF1EFA3A215140E60014EB07 /* SBridge.mm in Sources */,
BF14B70F215C98DC0014EB07 /* LoggerWorker.cpp in Sources */,
BF14B710215C98DC0014EB07 /* Logger.mm in Sources */,
......@@ -557,9 +544,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = I2PLauncher/I2PLauncher.entitlements;
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
CODE_SIGN_IDENTITY = "Developer ID Application";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
COMPRESS_PNG_FILES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES;
......@@ -570,15 +558,17 @@
/System/Library/Frameworks,
"$(PROJECT_DIR)",
);
HEADER_SEARCH_PATHS = "$(SRCROOT)/include";
HEADER_SEARCH_PATHS = (
"$(SRCROOT)/include",
"$(SRCROOT)/../../../Sparkle/Sparkle",
);
INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = include;
INFOPLIST_FILE = I2PLauncher/Info.plist;
LD_NO_PIE = YES;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/Frameworks @loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_BUNDLE_IDENTIFIER = net.i2p.bootstrap.macosx.I2PLauncher;
PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = macosx;
SWIFT_OBJC_BRIDGING_HEADER = "I2PLauncher/I2PLauncher-Bridging-Header.h";
......@@ -593,9 +583,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = I2PLauncher/I2PLauncher.entitlements;
CODE_SIGN_IDENTITY = "Mac Developer";
CODE_SIGN_STYLE = Automatic;
CODE_SIGN_IDENTITY = "Developer ID Application";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
COMPRESS_PNG_FILES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES;
......@@ -606,13 +597,16 @@
/System/Library/Frameworks,
"$(PROJECT_DIR)",
);
HEADER_SEARCH_PATHS = "$(SRCROOT)/include";
HEADER_SEARCH_PATHS = (
"$(SRCROOT)/include",
"$(SRCROOT)/../../../Sparkle/Sparkle",
);
INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = include;
INFOPLIST_FILE = I2PLauncher/Info.plist;
LD_NO_PIE = YES;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/Frameworks @loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_BUNDLE_IDENTIFIER = net.i2p.bootstrap.macosx.I2PLauncher;
PRODUCT_BUNDLE_IDENTIFIER = "net.i2p.bootstrap-macosx.I2PLauncher";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = macosx;
......
//
// DownloadJavaViewController.swift
// I2PLauncher
//
// Created by Mikal Villa on 30/09/2018.
// Copyright © 2018 The I2P Project. All rights reserved.
//
import AppKit
class DownloadJavaViewController: NSViewController {
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask,
didFinishDownloadingTo location: URL) {
guard let httpResponse = downloadTask.response as? HTTPURLResponse,
(200...299).contains(httpResponse.statusCode) else {
print ("server error")
return
}
do {
let documentsURL = try
FileManager.default.url(for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false)
let savedURL = documentsURL.appendingPathComponent(
location.lastPathComponent)
try FileManager.default.moveItem(at: location, to: savedURL)
} catch {
print ("file error: \(error)")
}
}
}
......@@ -10,6 +10,12 @@ import Cocoa
class PopoverViewController: NSViewController {
@IBOutlet var routerStatusViewOutlet: RouterStatusView?
func getRouterStatusView() -> RouterStatusView? {
return self.routerStatusViewOutlet
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
......
......@@ -22,61 +22,133 @@ import Cocoa
@IBOutlet var routerVersionLabel: NSTextField?
@IBOutlet var routerStartedByLabel: NSTextField?
@IBOutlet var routerUptimeLabel: NSTextField?
@IBOutlet var routerPIDLabel: NSTextField?
@IBOutlet var quickControlView: NSView?
@IBOutlet var routerStartStopButton: NSButton?
@IBOutlet var openConsoleButton: NSButton?
@objc func actionBtnStartRouter(_ sender: Any?) {
NSLog("START ROUTER")
if (RouterManager.shared().getRouterTask() == nil) {
SBridge.sharedInstance().startupI2PRouter(RouterProcessStatus.i2pDirectoryPath, javaBinPath: RouterProcessStatus.knownJavaBinPath!)
/*if (RouterManager.shared().getRouterTask() == nil) {
SBridge.sharedInstance().startupI2PRouter(RouterProcessStatus.i2pDirectoryPath)
}*/
(sender as! NSButton).isTransparent = true
let routerStatus = RouterRunner.launchAgent?.status()
switch routerStatus {
case .loaded?:
RouterManager.shared().routerRunner.StartAgent(information: RouterRunner.launchAgent)
case .unloaded?:
do {
try LaunchAgentManager.shared.load(RouterRunner.launchAgent!)
RouterManager.shared().routerRunner.StartAgent(information: RouterRunner.launchAgent)
} catch {
RouterManager.shared().eventManager.trigger(eventName: "router_exception", information: error)
}
break
default:
break
}
RouterManager.shared().updateState()
self.reEnableButton()
}
@objc func actionBtnStopRouter(_ sender: Any?) {
NSLog("STOP ROUTER")
if (RouterManager.shared().getRouterTask() != nil) {
let routerStatus = RouterRunner.launchAgent?.status()
switch routerStatus {
case .running?:
NSLog("Found running router")
RouterManager.shared().getRouterTask()?.requestShutdown()
RouterManager.shared().updateState()
RouterManager.shared().routerRunner.StopAgent()
break
default:
break
}
self.reEnableButton()
}
@objc func actionBtnRestartRouter(sender: Any?) {
if (RouterManager.shared().getRouterTask() != nil) {
RouterManager.shared().getRouterTask()?.requestRestart()
//RouterManager.shared().getRouterTask()?.requestRestart()
} else {
NSLog("Can't restart a non running router, start it however...")
SBridge.sharedInstance().startupI2PRouter(RouterProcessStatus.i2pDirectoryPath, javaBinPath: RouterProcessStatus.knownJavaBinPath!)
//SBridge.sharedInstance().startupI2PRouter(RouterProcessStatus.i2pDirectoryPath)
}
RouterManager.shared().updateState()
}
func handlerRouterStart(information:Any?) {
print("Triggered handlerRouterStart")
NSLog("PID2! %@", information as! String)
routerPIDLabel?.cell?.stringValue = "Router PID: "+(information as! String)
routerPIDLabel?.needsDisplay = true
routerStatusLabel?.cell?.stringValue = "Router status: Running"
self.toggleSetButtonStop()
self.reEnableButton()
}
func reEnableButton() {
let currentStatus : AgentStatus = RouterRunner.launchAgent?.status() ?? AgentStatus.unloaded
if currentStatus != AgentStatus.loaded && currentStatus != AgentStatus.unloaded {
self.toggleSetButtonStop()
} else {
self.toggleSetButtonStart()
}
routerStartStopButton?.isTransparent = false
routerStartStopButton?.needsDisplay = true
self.setRouterStatusLabelText()
}
func setupObservers() {
RouterManager.shared().eventManager.listenTo(eventName: "router_start", action: handlerRouterStart)
RouterManager.shared().eventManager.listenTo(eventName: "router_stop", action: handleRouterStop)
RouterManager.shared().eventManager.listenTo(eventName: "router_pid", action: handlerRouterStart)
RouterManager.shared().eventManager.listenTo(eventName: "launch_agent_running", action: reEnableButton)
RouterManager.shared().eventManager.listenTo(eventName: "launch_agent_unloaded", action: reEnableButton)
RouterManager.shared().eventManager.listenTo(eventName: "launch_agent_loaded", action: reEnableButton)
}
override func viewWillDraw() {
super.viewWillDraw()
if (RouterStatusView.instance != nil) {
RouterStatusView.instance = self
}
self.setRouterStatusLabelText()
self.reEnableButton()
}
func handleRouterStop() {
routerPIDLabel?.cell?.stringValue = "Router PID: Not running"
self.toggleSetButtonStart()
reEnableButton()
}
private func toggleSetButtonStart() {
routerStatusLabel?.cell?.stringValue = "Router status: Not running"
routerStartStopButton?.title = "Start Router"
routerStartStopButton?.action = #selector(self.actionBtnStartRouter(_:))
}
private func toggleSetButtonStop() {
routerStatusLabel?.cell?.stringValue = "Router status: Running"
routerStartStopButton?.title = "Stop Router"
routerStartStopButton?.action = #selector(self.actionBtnStopRouter(_:))
}
func setRouterStatusLabelText() {
if (RouterProcessStatus.isRouterRunning) {
routerStatusLabel?.cell?.stringValue = "Router status: Running"
routerStartStopButton?.title = "Stop Router"
routerStartStopButton?.action = #selector(self.actionBtnStopRouter(_:))
} else {
routerStatusLabel?.cell?.stringValue = "Router status: Not running"
routerStartStopButton?.title = "Start Router"
routerStartStopButton?.action = #selector(self.actionBtnStartRouter(_:))
}
routerStartStopButton?.needsDisplay = true
routerStartStopButton?.target = self
quickControlView?.needsDisplay = true
do {
let currentStatus : AgentStatus = RouterRunner.launchAgent!.status()
if currentStatus == AgentStatus.loaded || currentStatus == AgentStatus.unloaded {
routerStatusLabel?.cell?.stringValue = "Router status: Not running"
} else {
routerStatusLabel?.cell?.stringValue = "Router status: Running"
}
} catch {
// Ensure it's set even AgentStatus is nil (uninitialized yet..)
routerStatusLabel?.cell?.stringValue = "Router status: Not running"
}
let staticStartedByLabelText = "Router started by launcher?"
if RouterProcessStatus.isRouterChildProcess {
routerStartedByLabel?.cell?.stringValue = staticStartedByLabelText+" Yes"
......@@ -102,12 +174,16 @@ import Cocoa
init() {
let c = NSCoder()
super.init(coder: c)!
self.setRouterStatusLabelText()
self.setupObservers()
self.toggleSetButtonStart()
self.reEnableButton()
}
required init?(coder decoder: NSCoder) {
super.init(coder: decoder)
self.setRouterStatusLabelText()
self.setupObservers()
self.toggleSetButtonStart()
self.reEnableButton()
}
}
......@@ -15,7 +15,11 @@ import Cocoa
let statusItem = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength)
let storyboard = NSStoryboard(name: "Storyboard", bundle: Bundle.main)
var updateObjectRef : SUUpdater?
var ctrl : PopoverViewController?
@IBOutlet var routerStatusTabView: RouterStatusView?
//var updateObjectRef : SUUpdater?
@objc func handleOpenConsole(_ sender: Any?) {
SwiftMainDelegate.openLink(url: "http://localhost:7657")
......@@ -24,24 +28,34 @@ import Cocoa
@objc func constructMenu() -> NSMenu {
let menu = NSMenu()
let updateMenuItem = NSMenuItem(title: "Check for updates", action: #selector(self.updateObjectRef?.checkForUpdates(_:)), keyEquivalent: "U")
/*let updateMenuItem = NSMenuItem(title: "Check for updates", action: #selector(self.updateObjectRef?.checkForUpdates(_:)), keyEquivalent: "U")
updateMenuItem.isEnabled = true
*/
menu.addItem(NSMenuItem(title: "Open I2P Console", action: #selector(self.handleOpenConsole(_:)), keyEquivalent: "O"))
menu.addItem(NSMenuItem.separator())
menu.addItem(updateMenuItem)
//menu.addItem(updateMenuItem)
menu.addItem(NSMenuItem.separator())
menu.addItem(NSMenuItem(title: "Quit I2P Launcher", action: #selector(SwiftMainDelegate.terminate(_:)), keyEquivalent: "q"))
return menu
}
func pidReaction(information:Any?){
let pidStr = information as! String
NSLog("PID! %@", pidStr)
showPopover(sender: nil)
//self.ctrl?.getRouterStatusView()?.handlerRouterStart(information: pidStr)
self.ctrl?.getRouterStatusView()?.needsDisplay = true
}
override init() {
super.init()
popover.contentViewController = PopoverViewController.freshController()
updateObjectRef = SUUpdater.shared()
updateObjectRef?.checkForUpdatesInBackground()
self.ctrl = PopoverViewController.freshController()
popover.contentViewController = self.ctrl
//updateObjectRef = SUUpdater.shared()
//updateObjectRef?.checkForUpdatesInBackground()
RouterManager.shared().eventManager.listenTo(eventName: "router_pid", action: pidReaction)
if let button = statusItem.button {
......@@ -100,7 +114,6 @@ import Cocoa
if popover.isShown {
closePopover(sender: sender)
} else {
RouterManager.shared().updateState()
showPopover(sender: sender)
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment