Giter VIP home page Giter VIP logo

robovm-maven-plugin's Introduction

RoboVM

Please see robovm.com for more information.

robovm-maven-plugin's People

Contributors

ashleyj avatar badlogic avatar blueriverinteractive avatar mores avatar ntherning avatar samskivert avatar zonski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robovm-maven-plugin's Issues

Surefire plugin fails to deserialize some exceptions

E.g. java.lang.ReflectiveOperationException. The problem occurs since Oracle's RT uses a different serialVersionUID than Android:

Caused by: java.io.InvalidClassException: java.lang.ReflectiveOperationException; local class incompatible: stream classdesc serialVersionUID = 2505831918131413020, local class serialVersionUID = 123456789

We need to come up with serialization which doesn't rely on Java's builtin serialization.

example

Is there a current working example available anywhere?

Linker warning with iOS 9.0

[WARNING] ld: warning: object file (/Users/badlogic/.m2/repository/org/robovm/robovm-dist/1.6.1-SNAPSHOT/unpacked/robovm-1.6.1-SNAPSHOT/lib/vm/ios/x86_64/libgc.a(atomic_ops.o)) was built for newer iOS version (6.0) than being linked (5.0)

Culprit is in OS
http://sht.tl/M6ckOx

Launching on simulator on El Capitan with Xcode 7 fails

[ERROR] Failed to execute goal org.robovm:robovm-maven-plugin:1.6.0:ipad-sim (default) on project playn-hello-robovm: Failed to launch IOS Simulator: Unable to find a matching device [arch=x86_64, family=iPad, name=iPad-Retina, sdk=null] -> [Help 1]

Reproducable with latest PlayN and RoboVM 1.6.

Don't include robovm-rt in the classpath

It's usually listed as a dependency but it should not be included in the classpath since it's already added to the compiler's bootclasspath. ;aybe setting it to provided in the POM is the answer? This problem likely also applies to Gradle.

Below is the contents of an IPA created from the HelloWorld sample. We want to avoid the lib/robovm-rt-<version>.jar.

  Length     Date   Time    Name
 --------    ----   ----    ----
        0  08-03-15 21:53   Payload/
        0  08-03-15 21:53   Payload/HelloWorld.app/
        0  08-03-15 21:53   Payload/HelloWorld.app/_CodeSignature/
     6589  08-03-15 21:53   Payload/HelloWorld.app/_CodeSignature/CodeResources
      965  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
      965  08-03-15 21:53   Payload/HelloWorld.app/AppIcon29x29@2x~ipad.png
     1496  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
      526  08-03-15 21:53   Payload/HelloWorld.app/AppIcon29x29~ipad.png
     1414  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
     1414  08-03-15 21:53   Payload/HelloWorld.app/AppIcon40x40@2x~ipad.png
     1909  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
      693  08-03-15 21:53   Payload/HelloWorld.app/AppIcon40x40~ipad.png
     1909  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
     2986  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
     2540  08-03-15 21:53   Payload/HelloWorld.app/AppIcon76x76@2x~ipad.png
     1427  08-03-15 21:53   Payload/HelloWorld.app/AppIcon76x76~ipad.png
   212866  08-03-15 21:53   Payload/HelloWorld.app/Background.png
        0  08-03-15 21:53   Payload/HelloWorld.app/Base.lproj/
        0  08-03-15 21:53   Payload/HelloWorld.app/Base.lproj/Main.storyboardc/
      258  08-03-15 21:53   Payload/HelloWorld.app/Base.lproj/Main.storyboardc/Info.plist
     5149  08-03-15 21:53   Payload/HelloWorld.app/Base.lproj/Main.storyboardc/Rw5-ns-KcI-view-xOT-TG-81E.nib
     1070  08-03-15 21:53   Payload/HelloWorld.app/Base.lproj/Main.storyboardc/UIViewController-Rw5-ns-KcI.nib
       28  08-03-15 21:53   Payload/HelloWorld.app/CodeResources
     7963  06-17-15 13:52   Payload/HelloWorld.app/embedded.mobileprovision
 13324688  08-03-15 21:53   Payload/HelloWorld.app/HelloWorld
     1709  08-03-15 21:53   Payload/HelloWorld.app/Info.plist
     9532  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
    15450  08-03-15 21:53   Payload/HelloWorld.app/LaunchImage-700-Landscape@2x~ipad.png
    12431  08-03-15 21:53   Payload/HelloWorld.app/LaunchImage-700-Landscape~ipad.png
    14917  08-03-15 21:53   Payload/HelloWorld.app/LaunchImage-700-Portrait@2x~ipad.png
    12110  08-03-15 21:53   Payload/HelloWorld.app/LaunchImage-700-Portrait~ipad.png
     9890  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
    11418  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
    74225  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
    11761  08-03-15 21:53   Payload/HelloWorld.app/[email protected]
        0  08-03-15 21:53   Payload/HelloWorld.app/lib/
        0  08-03-15 21:53   Payload/HelloWorld.app/lib/boot/
    57521  08-03-15 21:53   Payload/HelloWorld.app/lib/boot/robovm-rt.jar
       22  08-03-15 21:53   Payload/HelloWorld.app/lib/classes0.jar
    12347  08-03-15 21:53   Payload/HelloWorld.app/lib/robovm-cocoatouch-1.5.1-SNAPSHOT.jar
     2519  08-03-15 21:53   Payload/HelloWorld.app/lib/robovm-objc-1.5.1-SNAPSHOT.jar
    57521  08-03-15 21:53   Payload/HelloWorld.app/lib/robovm-rt-1.5.1-SNAPSHOT.jar
      485  08-03-15 21:53   Payload/HelloWorld.app/ResourceRules.plist

Plugin crashes looking for config

There's an error in the code that results in the plugin NPE-ing in certain circumstances. The patch is so simple that I'm too lazy to fork the project and make a proper pull request:

--- i/plugin/src/main/java/org/robovm/maven/plugin/AbstractRoboVMMojo.java
+++ w/plugin/src/main/java/org/robovm/maven/plugin/AbstractRoboVMMojo.java
@@ -223,7 +223,7 @@ public abstract class AbstractRoboVMMojo extends AbstractMojo {
         MavenProject p = project;
         while (p != null && plugin == null) {
             plugin = p.getPluginManagement().getPluginsAsMap().get("org.robovm:robovm-maven-plugin");
-            p = p.getParent();
+            if (plugin == null) p = p.getParent();
         }
         if (plugin != null) {
             getLog().debug("Reading RoboVM plugin configuration from " + p.getFile().getAbsolutePath());

Basically it scans up to the parent project unnecessarily after it found the plugin in that parent, and if the parent that had the plugin was the top-most-parent, then p ends up being null which causes NPE later. Even if it wasn't null, it would result in logging a spurious value. With the applied patch, it's correct.

I was going to turn it into a do while loop, but for some reason the first call to seek the plugin is via project.getPlugin but the subsequent calls are via p.getPluginManagement().getPluginsAsMap().get. Not sure if that's intentional or just some code being out of date. Anyway, just pointing that out.

Error compile project with robovm-maven-plugin-0.7.1

Hi! When I compile my project with robovm-maven-plugin-0.7.1, I got this error:

Failed to execute goal org.robovm:robovm-maven-plugin:0.0.7.1:ios-device (default) on project basketball-ios: Execution default of goal org.robovm:robovm-maven-plugin:0.0.7.1:ios-device failed: Path /Users/turok/.m2/repository/org/robovm/robovm-dist/0.0.6/unpacked/robovm-0.0.6 is not a valid RoboVM install directory: version mismatch (expected: 0.0.7, was: 0.0.6)

Add goal for launching the license manager

Something like mvn robovm:lm-cli and mvn robovm:lm-ui. Would launch the license manager in CLI mode using LicenseManager.startCLI() and UI mode using LicenseManager.forkUI().

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.