77 lines
2.5 KiB
Groovy
77 lines
2.5 KiB
Groovy
/*
|
|
* Copyright (c) 2021 William Hubbard. All Rights Reserved.
|
|
*
|
|
* This module contains a program separate from both the browser and the interface. Firefox's native messaging API can
|
|
* only start a process, it can't communicate with a process that is already running. That is where this module comes
|
|
* in. The browser will start this module, and the interface will create a server over the localhost. When this program
|
|
* is started, it connects to that server. It will then relay messages between the browser and interface, translating
|
|
* between JSON and serialized Java objects as needed.
|
|
*/
|
|
plugins {
|
|
id 'java'
|
|
id 'application'
|
|
// id 'regis.browser-addon'
|
|
}
|
|
|
|
configurations {
|
|
/**
|
|
* The native build artifact is used by the addon build process to ensure that it knows where the executable can be
|
|
* found. This is because the addon needs to have the executable registered on install.
|
|
*/
|
|
nativeBuild {
|
|
canBeConsumed = true
|
|
canBeResolved = false
|
|
}
|
|
/**
|
|
* The install configuration is used for when we are packaging up the intermediary program.
|
|
*/
|
|
install {
|
|
canBeConsumed = true
|
|
canBeResolved = false
|
|
}
|
|
}
|
|
|
|
// In this section you declare where to find the dependencies of your project
|
|
repositories {
|
|
mavenCentral()
|
|
flatDir {
|
|
dirs new File(rootDir, 'libs')
|
|
}
|
|
}
|
|
|
|
// In this section you declare the dependencies for your production and test code
|
|
dependencies {
|
|
implementation 'org.slf4j:slf4j-api:1.7.30'
|
|
implementation 'org.apache.logging.log4j:log4j-api:2.13.3'
|
|
implementation 'org.apache.logging.log4j:log4j-core:2.13.3'
|
|
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.13.3'
|
|
|
|
implementation 'com.google.code.gson:gson:2.8.7'
|
|
|
|
implementation 'net.harawata:appdirs:1.2.1'
|
|
|
|
implementation project(":browserCommands")
|
|
|
|
// Declare the dependency for your favourite test framework you want to use in your tests.
|
|
// TestNG is also supported by the Gradle Test task. Just change the
|
|
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
|
|
// 'test.useTestNG()' to your build script.
|
|
testImplementation 'junit:junit:4.12'
|
|
}
|
|
|
|
// Define the main class for the application
|
|
mainClassName = defaultPackage + '.addon.Main'
|
|
|
|
artifacts {
|
|
nativeBuild(installDist.destinationDir) {
|
|
builtBy installDist
|
|
}
|
|
install(distTar)
|
|
}
|
|
|
|
processResources {
|
|
filesMatching("**/log4j2.xml") {
|
|
expand(rootProject.properties)
|
|
}
|
|
}
|