All Projects → ritschwumm → xsbt-webstart

ritschwumm / xsbt-webstart

Licence: BSD-2-Clause license
A Webstart plugin for sbt

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to xsbt-webstart

sbt-travisci
An sbt plugin to integrate with Travis CI
Stars: ✭ 44 (+266.67%)
Mutual labels:  sbt, sbt-plugin
sbt-ghpages
git, site and ghpages support for sbt projects.
Stars: ✭ 94 (+683.33%)
Mutual labels:  sbt, sbt-plugin
Sbt Tpolecat
scalac options for the enlightened
Stars: ✭ 227 (+1791.67%)
Mutual labels:  sbt, sbt-plugin
sbt-project-switcher
A sbt plugin to switch project in a snappy way⚡️
Stars: ✭ 36 (+200%)
Mutual labels:  sbt, sbt-plugin
sbt-rewarn
Make sbt always display compilation warnings, even for unchanged files.
Stars: ✭ 42 (+250%)
Mutual labels:  sbt, sbt-plugin
Sbt Dependency Check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). 🌈
Stars: ✭ 187 (+1458.33%)
Mutual labels:  sbt, sbt-plugin
Sbt Dynver
An sbt plugin to dynamically set your version from git
Stars: ✭ 243 (+1925%)
Mutual labels:  sbt, sbt-plugin
Sbt Protobuf
sbt plugin for compiling protobuf files
Stars: ✭ 163 (+1258.33%)
Mutual labels:  sbt, sbt-plugin
sbt-sass
A fork of the sbt-sass repository which seems to be abandoned.
Stars: ✭ 32 (+166.67%)
Mutual labels:  sbt, sbt-plugin
sbt-sonar
An sbt plugin which provides an easy way to integrate Scala projects with SonarQube.
Stars: ✭ 62 (+416.67%)
Mutual labels:  sbt, sbt-plugin
gatling-sbt-plugin
Gatling Plugin for SBT
Stars: ✭ 105 (+775%)
Mutual labels:  sbt, sbt-plugin
sbt-bazel
Easily convert SBT projects to Bazel workspaces
Stars: ✭ 55 (+358.33%)
Mutual labels:  sbt, sbt-plugin
Sbt Crossproject
Cross-platform compilation support for sbt.
Stars: ✭ 176 (+1366.67%)
Mutual labels:  sbt, sbt-plugin
sbt-findbugs
FindBugs static analysis plugin for sbt.
Stars: ✭ 47 (+291.67%)
Mutual labels:  sbt, sbt-plugin
Sbt Docker Compose
Integrates Docker Compose functionality into sbt
Stars: ✭ 168 (+1300%)
Mutual labels:  sbt, sbt-plugin
Sbt Fresh
sbt-plugin to create an opinionated fresh sbt project
Stars: ✭ 229 (+1808.33%)
Mutual labels:  sbt, sbt-plugin
Stryker4s
Mutation testing for Scala. Work in progress...
Stars: ✭ 118 (+883.33%)
Mutual labels:  sbt, sbt-plugin
Gatling Sbt Plugin Demo
Showcase of the Gatling Plugin for SBT
Stars: ✭ 137 (+1041.67%)
Mutual labels:  sbt, sbt-plugin
sbt-babel
An SBT plugin to perform Babel compilation.
Stars: ✭ 12 (+0%)
Mutual labels:  sbt, sbt-plugin
sbt-graphql
SBT plugin to generate and validate graphql schemas written with Sangria
Stars: ✭ 94 (+683.33%)
Mutual labels:  sbt, sbt-plugin
!!! this project is obsolete !!!

A Webstart plugin for sbt

At the moment, this is only a rough draft, just enough to get my own
projects running. Let me know what you think.

To build this code, get and install SBT from
    https://github.com/sbt/sbt

Get and install these plugins before building:
    https://github.com/ritschwumm/xsbt-util
    https://github.com/ritschwumm/xsbt-classpath

Build and publish the plugin:
    git clone [email protected]:ritschwumm/xsbt-webstart.git
    cd xsbt-webstart
    sbt publish-local

Add the plugin to your project in project/plugins.sbt:
    addSbtPlugin("de.djini" % "xsbt-webstart" % <version>)

Include the plugin in your project's build.sbt:

    webstartGenConfig := Some(GenConfig(
        dname       = "CN=Snake Oil, OU=An Anonymous Hacker, O=Bad Guys Inc., L=Bielefeld, ST=33641, C=DE",
        validity    = 365
    ))

    webstartKeyConfig := Some(KeyConfig(
        keyStore    = file("my/keyStore"),
        storePass   = "password",
        alias       = "alias",
        keyPass     = "password"
    ))

    webstartJnlpConfigs    := Seq(JnlpConfig(
        fileName    = "my.jnlp",
        descriptor  = (fileName:String, assets:Seq[JnlpAsset]) => {
            <jnlp spec="6.0+" codebase="$$codebase" href={fileName}>
                <information>
                    <title>My Title</title>
                    <vendor>My Company</vendor>
                    <description>My Webstart Project</description>
                    <icon href="my_icon.png"/>
                    <icon href="my_splash.png" kind="splash"/>
                </information>
                <security>
                    <all-permissions/>
                </security>
                <resources>
                    <j2se version="1.8+" max-heap-size="192m"/>
                    { assets map { _.toElem } }
                </resources>
                <application-desc main-class="my.Main"/>
            </jnlp>
        }
    ))

    /*
    on osx this file must contain the line
    Permissions: all-permissions
    or the java security settings cannot be set to "very high"
    */
    webstartManifest    := Some(file("path/to/MANIFEST.MF"))

Once set up you can use the following tasks in sbt:

    webstart        creates a directory with a JNLP file and all necessary jar files
    webstartKeygen  creates a keyStore, fails if it already exists
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].