shannah / cn1-mirah-json-macros

A Codename One application implementing macros for mapping from JSON to POJO
2 stars 5 forks source link

Project breaks when switching to JDK 1.8 #5

Closed arcovandervelden closed 9 years ago

arcovandervelden commented 9 years ago

Hi there,

When I change the JDK of my CodenameOne project to 1.8 the mirah generation isn't called anymore. Do you have any clue what to do ?

shannah commented 9 years ago

When you first add a mirah file to your project, it modifies the build-impl.xml file to register the mirah support. It is possible you made an update that caused this support to be overridden. Try adding a new mirah class to the project. Then remove it. That may retrigger the change.

arcovandervelden commented 9 years ago

When doing a clean build with JDK 7 the following lines occur in the build log. mirah-init: mirah-precompile: In Mirah Precompile for CN1 Project Deleting directory E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build\mirah

When changing to JDK 8 those lines don’t show up anymore. When changing to JDK 8 Netbeans asks for changing the build.xml file which I confirm. Tried to remove and add a class in my Datmappers.mirah file but this doesn’t make any change.

Met vriendelijke groet, Best regards,

Arco van der Velden Consultant

[cid:image001.jpg@01CEF015.2D39B860]http://www.synobsys.nl/

Rivium 3e straat 23 2909 LH Capelle aan den IJssel Telefoon: +31 10 458 55 32 Mobiel: +31 6 53 67 68 56 Internet: www.synobsys.nlhttp://www.synobsys.nl/ E-mail: avandervelden@synobsys.nlmailto:avandervelden@synobsys.nl

From: Steve Hannah [mailto:notifications@github.com] Sent: zaterdag 1 augustus 2015 17:25 To: shannah/cn1-mirah-json-macros cn1-mirah-json-macros@noreply.github.com Cc: Arco van der Velden AvanderVelden@synobsys.nl Subject: Re: [cn1-mirah-json-macros] Project breaks when switching to JDK 1.8 (#5)

When you first add a mirah file to your project, it modifies the build-impl.xml file to register the mirah support. It is possible you made an update that caused this support to be overridden. Try adding a new mirah class to the project. Then remove it. That may retrigger the change.

— Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126927643.

shannah commented 9 years ago

I should have said to add/remove a mirah file... not just a class inside an existing mirah file. When a .mirah file is added, it triggers a check to make sure that mirah is installed in the build.xml.

arcovandervelden commented 9 years ago

Doesn’t seem to work getting errors below when doing a clean build. ant -f E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders -Dnb.internal.action.name=rebuild clean jar No GUI Entries available init: deps-clean: Updating property file: E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build\built-clean.properties Deleting directory E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build refresh-libs: Deleting directory E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\lib\impl clean: No GUI Entries available init: deps-jar: Created dir: E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build Updating property file: E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build\built-jar.properties Created dir: E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build\classes Compile is forcing compliance to the supported API's/features for maximum device compatibility. This allows smaller code size and wider device support Created dir: E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build\tmp Compiling 37 source files to E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\build\tmp E:\OpenSource\CodenameOne\Projects\AALease\AALeaseBerijders\src\nl\aalease\apps\berijders\controllers\DeviceStorageController.java:28: error: package nl.aalease.apps.berijders.mirah does not exist import nl.aalease.apps.berijders.mirah.InstellingenMapper;

My Build file: <?xml version="1.0" encoding="UTF-8"?>

<project name="AALeaseBerijders" default="default" basedir=".">
<description>Builds, tests, and runs the project AALeaseBerijders.</description>
<import file="nbproject/build-impl.xml"/>
<property file="codenameone_settings.properties"/>
<taskdef name="codeNameOne" classname="com.codename1.build.client.CodeNameOneBuildTask" classpath="CodeNameOneBuildClient.jar"/>
<taskdef name="prepareTests" classname="com.codename1.build.client.PrepareTestsTask" classpath="CodeNameOneBuildClient.jar"/>
<taskdef name="installLibs" classname="com.codename1.build.client.InstallLibsTask" classpath="CodeNameOneBuildClient.jar"/>
<taskdef name="verifyDir" classname="com.codename1.build.client.VerifyDir" classpath="CodeNameOneBuildClient.jar"/>
<taskdef name="generateGuiSources" classname="com.codename1.build.client.GenerateGuiSources" classpath="CodeNameOneBuildClient.jar"/>

<target depends="init,compile,jar" name="compile-test">
    <mkdir dir="${build.test.classes.dir}" />
    <javac destdir="${build.test.classes.dir}"
        encoding="${source.encoding}"
        source="1.5"
        target="1.5"
        bootclasspath="CLDC11.jar" excludes="${excludes}"
        classpath="${javac.classpath}:${build.classes.dir}">
        <src path="${test.src.dir}"/>
    </javac>
    <prepareTests classesDir="${build.classes.dir}" testClassesDir="${build.test.classes.dir}" seJar="JavaSE.jar" metaDataFile="${build.test.classes.dir}/tests.dat" />
    <jar jarfile="dist/unitTests.jar">
        <fileset dir="${build.classes.dir}"/>
        <fileset dir="${build.test.classes.dir}"/>
        <fileset dir="lib/impl/cls"/>
    </jar>
</target>

<target depends="compile-test" name="-do-test-run">
    <!-- JavaSE.jar is added here since the test execution might fail otherwise for a pre-existing project -->
    <java classpath="dist/unitTests.jar:${javac.test.classpath}:${file.reference.JavaSE.jar}" classname="com.codename1.impl.javase.TestRunner">
        <arg value="${codename1.packageName}.${codename1.mainName}" />
    </java>
</target>

<target depends="-do-test-run" description="Run unit tests." name="test"/>

<target name="-pre-compile">
   <echo>Compile is forcing compliance to the supported API's/features for maximum device compatibility. This allows smaller
    code size and wider device support</echo>
    <mkdir dir="build/tmp"/>
    <javac destdir="build/tmp"
        encoding="${source.encoding}"
        source="1.5"
        target="1.5"
        bootclasspath="lib/CLDC11.jar" excludes="${excludes}"
        classpath="${javac.classpath}:${build.classes.dir}">
        <src path="${src.dir}"/>
    </javac>
</target>

<target name="-post-compile">
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/package-info.class"/>
    </delete>
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/package-info.class"/>
    </delete>
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/Thumbs.db"/>
    </delete>
</target>

<target name="build-for-ios-device" depends="clean,copy-ios-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="iphone"
        certificate="${codename1.ios.debug.certificate}"
        certPassword="${codename1.ios.debug.certificatePassword}"
        provisioningProfile="${codename1.ios.debug.provision}"
        appid="${codename1.ios.appid}"
        />
</target>

<target name="test-for-ios-device" depends="clean,copy-ios-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"
        buildArgs="build.unitTest=1"
        targetType="iphone"
        certificate="${codename1.ios.debug.certificate}"
        certPassword="${codename1.ios.debug.certificatePassword}"
        provisioningProfile="${codename1.ios.debug.provision}"
        appid="${codename1.ios.appid}"
        />
</target>

<target name="test-for-android-device" depends="clean,copy-android-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"
        buildArgs="build.unitTest=1"
        targetType="android"
        keystoreAlias="${codename1.android.keystoreAlias}"
        keystore="${codename1.android.keystore}"
        certPassword="${codename1.android.keystorePassword}"
        />
</target>

<target name="test-for-rim-device" depends="clean,copy-rim-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"
        buildArgs="build.unitTest=1"
        targetType="rim"
        sigtoolDb="${codename1.rim.signtoolDb}"
        certPassword="${codename1.rim.certificatePassword}"
        sigtoolCsk="${codename1.rim.signtoolCsk}"
        />
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/*.class"/>
    </delete>
</target>

 <target name="test-for-j2me-device" depends="clean,j2me-native-theme-init,copy-j2me-native,copy-j2me-override,copy-libs,jar,clean-j2me-native,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"
        targetType="me"
        buildArgs="build.unitTest=1"
        />
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/*.class"/>
    </delete>
</target>

<target name="build-for-ios-device-release" depends="clean,copy-ios-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"
        appStoreBuild="true"
        production="true"
        targetType="iphone"
        certificate="${codename1.ios.release.certificate}"
        certPassword="${codename1.ios.release.certificatePassword}"
        provisioningProfile="${codename1.ios.release.provision}"
        appid="${codename1.ios.appid}"
        />
</target>

<target name="copy-libs" depends="init">
    <copy todir="${build.classes.dir}">
        <fileset dir="lib/impl/cls" />
    </copy>
</target>

<target name="copy-android-override">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="override" />
    <copy todir="${build.classes.dir}">
        <fileset dir="override" includes="**/*_android.ovr"/>
        <fileset dir="override" includes="**/*_android-phone.ovr"/>
        <fileset dir="override" includes="**/*_android-tab.ovr"/>
        <fileset dir="override" includes="**/*_phone.ovr"/>
        <fileset dir="override" includes="**/*_tablet.ovr"/>
    </copy>
    <copy todir="${build.classes.dir}">
        <fileset dir="native/android" includes="**/*"/>
        <fileset dir="lib/impl/native/android" includes="**/*"/>
    </copy>
</target>

<target name="copy-ios-override">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="override" />
    <copy todir="${build.classes.dir}">
        <fileset dir="override" includes="**/*_ios.ovr"/>
        <fileset dir="override" includes="**/*_iphone.ovr"/>
        <fileset dir="override" includes="**/*_ipad.ovr"/>
        <fileset dir="override" includes="**/*_phone.ovr"/>
        <fileset dir="override" includes="**/*_tablet.ovr"/>
    </copy>
    <copy todir="${build.classes.dir}">
        <fileset dir="native/ios" includes="**/*"/>
        <fileset dir="lib/impl/native/ios" includes="**/*"/>
    </copy>
</target>

<target name="copy-javascript-override">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="override" />
    <mkdir dir="native/javascript" />
    <mkdir dir="lib/impl/native/javascript" />
    <copy todir="${build.classes.dir}">
        <fileset dir="native/javascript" includes="**/*"/>
        <fileset dir="lib/impl/native/javascript" includes="**/*"/>
    </copy>
</target>

<target name="copy-rim-override">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="override" />
    <copy todir="${build.classes.dir}">
        <fileset dir="override" includes="**/*_rim.ovr"/>
        <fileset dir="override" includes="**/*_phone.ovr"/>
    </copy>
    <copy todir="${build.classes.dir}">
        <fileset dir="native/rim" includes="**/*"/>
        <fileset dir="lib/impl/native/rim" includes="**/*"/>
    </copy>
</target>

<target name="copy-desktop-override">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="override" />
    <mkdir dir="lib/impl/native/javase" />
    <copy todir="${build.classes.dir}">
        <fileset dir="override" includes="**/*_tablet.ovr"/>
        <fileset dir="override" includes="**/*_desktop.ovr"/>
    </copy>
    <copy todir="${build.classes.dir}">
        <fileset dir="native/javase" includes="**/*"/>
        <fileset dir="lib/impl/native/javase" includes="**/*"/>
    </copy>
</target>

<target name="copy-j2me-override">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="override" />
    <copy todir="${build.classes.dir}">
        <fileset dir="override" includes="**/*_me.ovr"/>
        <fileset dir="override" includes="**/*_phone.ovr"/>
    </copy>
    <copy todir="${build.classes.dir}">
        <fileset dir="native/j2me" includes="**/*"/>
        <fileset dir="lib/impl/native/j2me" includes="**/*"/>
    </copy>
</target>

<target name="clean-override">
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/*.ovr"/>
        <fileset dir="${build.classes.dir}" includes="**/*.java"/>
        <fileset dir="${build.classes.dir}" includes="**/*.m"/>
        <fileset dir="${build.classes.dir}" includes="**/*.h"/>
    </delete>
</target>

<target name="build-for-android-device" depends="clean,copy-android-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="android"
        keystoreAlias="${codename1.android.keystoreAlias}"
        keystore="${codename1.android.keystore}"
        certPassword="${codename1.android.keystorePassword}"
        />
</target>

<target name="build-for-javascript" depends="clean,copy-javascript-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="javascript"
        />
</target>

<target name="build-for-rim-device" depends="clean,copy-rim-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="rim"
        sigtoolDb="${codename1.rim.signtoolDb}"
        certPassword="${codename1.rim.certificatePassword}"
        sigtoolCsk="${codename1.rim.signtoolCsk}"
        />
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/*.class"/>
    </delete>
</target>

<target name="build-for-mac-os-x-desktop" depends="clean,copy-desktop-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="desktop_macosx"
        />
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/*.class"/>
    </delete>
</target>

<target name="build-for-windows-desktop" depends="clean,copy-desktop-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="desktop_windows"
        />
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/*.class"/>
    </delete>
</target>

<target name="build-for-j2me-device" depends="clean,j2me-native-theme-init,copy-j2me-native,copy-j2me-override,copy-libs,jar,clean-j2me-native,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"
        targetType="me"
        />
    <delete>
        <fileset dir="${build.classes.dir}" includes="**/*.class"/>
    </delete>
</target>

<target name="j2me-native-theme-init">
    <available file="${codename1.j2me.nativeTheme}" property="j2me-native-theme.available" />
</target>

<target name="copy-j2me-native" if="j2me-native-theme.available">
    <copy file="${codename1.j2me.nativeTheme}" tofile="src/nativeJ2METheme.res" />
</target>

<target name="clean-j2me-native" if="j2me-native-theme.available">
    <delete file="src/nativeJ2METheme.res" />
</target>

<target name="-pre-init">
    <property name="application.args" value="${codename1.packageName}.${codename1.mainName}"/>
    <property name="javac.source" value="1.5" />
    <property name="javac.target" value="1.5" />
    <mkdir dir="native/javase" />
    <mkdir dir="native/android" />
    <mkdir dir="native/internal_tmp" />
    <mkdir dir="native/ios" />
    <mkdir dir="native/j2me" />
    <mkdir dir="native/rim" />
    <mkdir dir="native/win" />
    <mkdir dir="native/javascript" />
    <mkdir dir="lib/impl/cls" />
    <mkdir dir="lib/impl/stubs" />
    <mkdir dir="lib/impl/native" />
    <mkdir dir="lib/impl/native/android" />
    <mkdir dir="lib/impl/native/ios" />
    <mkdir dir="lib/impl/native/j2me" />
    <mkdir dir="lib/impl/native/rim" />
    <mkdir dir="lib/impl/native/win" />
    <mkdir dir="lib/impl/native/javascript" />
    <installLibs lib="lib" dest="lib/impl" />
    <generateGuiSources srcDir="src" encoding="UTF-8" guiDir="res/guibuilder"  />
</target>

<target name="-post-jar">
    <mkdir dir="native/javase" />
    <mkdir dir="native/internal_tmp" />
    <mkdir dir="lib/impl/native/javase" />
    <javac destdir="native/internal_tmp"
        encoding="${source.encoding}"
        source="1.5"
        target="1.5"
        bootclasspath="CLDC11.jar" excludes="${excludes}"
        classpath="${javac.classpath}:${build.classes.dir}">
        <src path="native/javase"/>
        <src path="lib/impl/native/javase"/>
    </javac>
</target>

<target name="-post-clean" depends="refresh-libs">
</target>

<target name="refresh-libs">
    <delete dir="lib/impl" />
    <installLibs lib="lib" dest="lib/impl" />
</target>

<target name="copy-windows-override">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="override" />
    <copy todir="${build.classes.dir}">
        <fileset dir="override" includes="**/*_win.ovr"/>
        <fileset dir="override" includes="**/*_win-phone.ovr"/>
        <fileset dir="override" includes="**/*_win-tab.ovr"/>
        <fileset dir="override" includes="**/*_phone.ovr"/>
        <fileset dir="override" includes="**/*_tablet.ovr"/>
    </copy>
    <mkdir dir="native/win" />
    <copy todir="${build.classes.dir}">
        <fileset dir="native/win" includes="**/*"/>
        <fileset dir="lib/impl/native/win" includes="**/*"/>
    </copy>
</target>

<target name="build-for-win-device" depends="clean,copy-windows-override,copy-libs,jar,clean-override">
    <codeNameOne
        jarFile="${dist.jar}"
        displayName="${codename1.displayName}"
        packageName = "${codename1.packageName}"
        mainClassName = "${codename1.mainName}"
        version="${codename1.version}"
        icon="${codename1.icon}"
        vendor="${codename1.vendor}"
        subtitle="${codename1.secondaryTitle}"

        targetType="win"
        />
</target>

<target name="webservice-wizard">
    <java classpath="CodeNameOneBuildClient.jar" classname="com.codename1.ws.wizard.WSWizard" dir="." fork="true" />
</target>

Met vriendelijke groet, Best regards,

Arco van der Velden Consultant

[cid:image001.jpg@01CEF015.2D39B860]http://www.synobsys.nl/

Rivium 3e straat 23 2909 LH Capelle aan den IJssel Telefoon: +31 10 458 55 32 Mobiel: +31 6 53 67 68 56 Internet: www.synobsys.nlhttp://www.synobsys.nl/ E-mail: avandervelden@synobsys.nlmailto:avandervelden@synobsys.nl

From: Steve Hannah [mailto:notifications@github.com] Sent: zaterdag 1 augustus 2015 19:30 To: shannah/cn1-mirah-json-macros cn1-mirah-json-macros@noreply.github.com Cc: Arco van der Velden AvanderVelden@synobsys.nl Subject: Re: [cn1-mirah-json-macros] Project breaks when switching to JDK 1.8 (#5)

I should have said to add/remove a mirah file... not just a class inside an existing mirah file. When a .mirah file is added, it triggers a check to make sure that mirah is installed in the build.xml.

— Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126938913.

shannah commented 9 years ago

OK. Here is the "emergency fix" instructions.

  1. Open the nbproject/build-impl.xml file (NOT the build.xml file)
  2. Delete the following from the beginning if they are present:

    <import file="mirah-build-cn1.xml"/>
    <import file="mirah-build.xml"/>
  3. Search for any references of -mirah in that file, there will be about 4 or 5. They'll look like:

    <target depends="... ,-mirah-pre-init" name="init"/>

    Remove those references. Not the whole tag, just the part that refers to Mirah. E.g. the tag:

     <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline,-mirah-pre-init" name="init"/>

    would become

     <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
  4. Open the nbproject/project.properties file. Change the property mirah.plugin.version=25 to mirah.plugin.version=0
  5. Delete the files nbproject/mirah-build-cn1.xml and nbproject/mirah-build.xml.
  6. Close the project
  7. Reopen the project.
  8. Create a new mirah file

Check to make sure that the nbproject/mirah-build-cn1.xml and nbproject/mirah-build.xml files were regenerated. If they are there, then you should be in business. If they are not, then it didn't work - and go back through your steps carefully.

arcovandervelden commented 9 years ago

Unfortunately still not working, repeated the steps 3 times but no result.

  1. “Search for any references of -mirah in that file, there will be about 4 or 5. They'll look like:” I only have one. nbproject/mirah-build-cn1.xml and mirah-build.xml Are not being regenerated.

Met vriendelijke groet, Best regards,

Arco van der Velden Consultant

[cid:image001.jpg@01CEF015.2D39B860]http://www.synobsys.nl/

Rivium 3e straat 23 2909 LH Capelle aan den IJssel Telefoon: +31 10 458 55 32 Mobiel: +31 6 53 67 68 56 Internet: www.synobsys.nlhttp://www.synobsys.nl/ E-mail: avandervelden@synobsys.nlmailto:avandervelden@synobsys.nl

From: Steve Hannah [mailto:notifications@github.com] Sent: zondag 2 augustus 2015 02:47 To: shannah/cn1-mirah-json-macros cn1-mirah-json-macros@noreply.github.com Cc: Arco van der Velden AvanderVelden@synobsys.nl Subject: Re: [cn1-mirah-json-macros] Project breaks when switching to JDK 1.8 (#5)

OK. Here is the "emergency fix" instructions.

  1. Open the nbproject/build-impl.xml file (NOT the build.xml file)
  2. Delete the following from the beginning if they are present:

  3. Search for any references of -mirah in that file, there will be about 4 or 5. They'll look like:

Remove those references. Not the whole tag, just the part that refers to Mirah. E.g. the tag:

would become

  1. Open the nbproject/project.properties file.

Change the property mirah.plugin.version=25 to mirah.plugin.version=0

  1. Delete the files nbproject/mirah-build-cn1.xml and mirah-build.xml.
  2. Close the project
  3. Reopen the project.

Check to make sure that the nbproject/mirah-build-cn1.xml and mirah-build.xml files were regenerated. If they are there, then you should be in business. If they are not, then it didn't work - and go back through your steps carefully.

— Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126967823.

shannah commented 9 years ago

Sounds like you don't even have the mirah plugin installed. After you changed the version to zero, did it get changed back to 25?

If you start a fresh project and add a mirah file do those XML build files get added? On Aug 2, 2015 12:37 AM, "arcovandervelden" notifications@github.com wrote:

Unfortunately still not working, repeated the steps 3 times but no result.

  1. “Search for any references of -mirah in that file, there will be about 4 or 5. They'll look like:” I only have one. nbproject/mirah-build-cn1.xml and mirah-build.xml Are not being regenerated.

Met vriendelijke groet, Best regards,

Arco van der Velden Consultant

[cid:image001.jpg@01CEF015.2D39B860]http://www.synobsys.nl/

Rivium 3e straat 23 2909 LH Capelle aan den IJssel Telefoon: +31 10 458 55 32 Mobiel: +31 6 53 67 68 56 Internet: www.synobsys.nlhttp://www.synobsys.nl/ E-mail: avandervelden@synobsys.nlmailto:avandervelden@synobsys.nl

From: Steve Hannah [mailto:notifications@github.com] Sent: zondag 2 augustus 2015 02:47 To: shannah/cn1-mirah-json-macros < cn1-mirah-json-macros@noreply.github.com> Cc: Arco van der Velden AvanderVelden@synobsys.nl Subject: Re: [cn1-mirah-json-macros] Project breaks when switching to JDK 1.8 (#5)

OK. Here is the "emergency fix" instructions.

  1. Open the nbproject/build-impl.xml file (NOT the build.xml file)
  2. Delete the following from the beginning if they are present:
  1. Search for any references of -mirah in that file, there will be about 4 or 5. They'll look like:

Remove those references. Not the whole tag, just the part that refers to Mirah. E.g. the tag:

<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline,-mirah-pre-init" name="init"/>

would become

<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>

  1. Open the nbproject/project.properties file.

Change the property mirah.plugin.version=25 to mirah.plugin.version=0

  1. Delete the files nbproject/mirah-build-cn1.xml and mirah-build.xml.
  2. Close the project
  3. Reopen the project.

Check to make sure that the nbproject/mirah-build-cn1.xml and mirah-build.xml files were regenerated. If they are there, then you should be in business. If they are not, then it didn't work - and go back through your steps carefully.

— Reply to this email directly or view it on GitHub< https://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126967823>.

— Reply to this email directly or view it on GitHub https://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126996935 .

arcovandervelden commented 9 years ago

No it did not, I've installed the plugin because when I revert all modifications and change back to Jdk 7 everything works fine.

Sent from my iPhone

On 2 aug. 2015, at 09:48, Steve Hannah notifications@github.com<mailto:notifications@github.com> wrote:

Sounds like you don't even have the mirah plugin installed. After you changed the version to zero, did it get changed back to 25?

If you start a fresh project and add a mirah file do those XML build files get added? On Aug 2, 2015 12:37 AM, "arcovandervelden" notifications@github.com<mailto:notifications@github.com> wrote:

Unfortunately still not working, repeated the steps 3 times but no result.

  1. “Search for any references of -mirah in that file, there will be about 4 or 5. They'll look like:” I only have one. nbproject/mirah-build-cn1.xml and mirah-build.xml Are not being regenerated.

Met vriendelijke groet, Best regards,

Arco van der Velden Consultant

[cid:image001.jpg@01CEF015.2D39B860]http://www.synobsys.nl/

Rivium 3e straat 23 2909 LH Capelle aan den IJssel Telefoon: +31 10 458 55 32 Mobiel: +31 6 53 67 68 56 Internet: www.synobsys.nlhttp://www.synobsys.nlhttp://www.synobsys.nl/ E-mail: avandervelden@synobsys.nlmailto:avandervelden@synobsys.nlmailto:avandervelden@synobsys.nl

From: Steve Hannah [mailto:notifications@github.com] Sent: zondag 2 augustus 2015 02:47 To: shannah/cn1-mirah-json-macros < cn1-mirah-json-macros@noreply.github.commailto:cn1-mirah-json-macros@noreply.github.com> Cc: Arco van der Velden AvanderVelden@synobsys.nl<mailto:AvanderVelden@synobsys.nl> Subject: Re: [cn1-mirah-json-macros] Project breaks when switching to JDK 1.8 (#5)

OK. Here is the "emergency fix" instructions.

  1. Open the nbproject/build-impl.xml file (NOT the build.xml file)
  2. Delete the following from the beginning if they are present:
  1. Search for any references of -mirah in that file, there will be about 4 or 5. They'll look like:

Remove those references. Not the whole tag, just the part that refers to Mirah. E.g. the tag:

<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline,-mirah-pre-init" name="init"/>

would become

<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>

  1. Open the nbproject/project.properties file.

Change the property mirah.plugin.version=25 to mirah.plugin.version=0

  1. Delete the files nbproject/mirah-build-cn1.xml and mirah-build.xml.
  2. Close the project
  3. Reopen the project.

Check to make sure that the nbproject/mirah-build-cn1.xml and mirah-build.xml files were regenerated. If they are there, then you should be in business. If they are not, then it didn't work - and go back through your steps carefully.

— Reply to this email directly or view it on GitHub< https://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126967823>.

— Reply to this email directly or view it on GitHub https://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126996935 .

— Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-126997225.

shannah commented 9 years ago

Can you send me the project in email so I can take a look? steve@weblite.ca

arcovandervelden commented 9 years ago

Hi Steve,

Thanks for your help, I herewith send you the project. The project uses JDK 7 and everything is fine. When you change it to JDK 8 and do a clean and build the problems occur. Thanks in advance.

Met vriendelijke groet, Best regards,

Arco van der Velden Consultant

[cid:image001.jpg@01CEF015.2D39B860]http://www.synobsys.nl/

Rivium 3e straat 23 2909 LH Capelle aan den IJssel Telefoon: +31 10 458 55 32 Mobiel: +31 6 53 67 68 56 Internet: www.synobsys.nlhttp://www.synobsys.nl/ E-mail: avandervelden@synobsys.nlmailto:avandervelden@synobsys.nl

From: Steve Hannah [mailto:notifications@github.com] Sent: maandag 3 augustus 2015 01:16 To: shannah/cn1-mirah-json-macros cn1-mirah-json-macros@noreply.github.com Cc: Arco van der Velden AvanderVelden@synobsys.nl Subject: Re: [cn1-mirah-json-macros] Project breaks when switching to JDK 1.8 (#5)

Can you send me the project in email so I can take a look? steve@weblite.camailto:steve@weblite.ca

— Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-127083002.

shannah commented 9 years ago

I haven't received any email with the project yet.

arcovandervelden commented 9 years ago

Steve,

Are you sure I send you a zip file with the project this morming (European time)

Sent from my iPhone

On 3 aug. 2015, at 18:24, Steve Hannah notifications@github.com<mailto:notifications@github.com> wrote:

I haven't received any email with the project yet.

Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-127304476.

arcovandervelden commented 9 years ago

Ok I resend the project to steve@weblite.ca

shannah commented 9 years ago

The project that you sent me doesn't look like it is set up to use Java8. Is this the state of the project before updating to JDK8 or after? If after, what steps did you take to update to 8?

arcovandervelden commented 9 years ago

It's the before state. I update it by selecting JDK 8 at the libraries tab. I send the before state so you can see what is changing.

Sent from my iPhone

On 3 aug. 2015, at 19:43, Steve Hannah notifications@github.com<mailto:notifications@github.com> wrote:

The project that you sent me doesn't look like it is set up to use Java8. Is this the state of the project before updating to JDK8 or after? If after, what steps did you take to update to 8?

Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-127344426.

shannah commented 9 years ago

OK. I was able to reproduce your issue (by changing the JDK to a different JDK). However, I was also able to fix the issue by simply following the steps I gave you before.

Specifically,

  1. I deleted <import file="mirah-build.xml"/> from the beginning of the build-impl.xml file.
  2. Changed <target depends="init,deps-jar,-mirah-init-macrodef-javac" name="-pre-pre-compile"> to <target depends="init,deps-jar" name="-pre-pre-compile">
  3. Changed mirah.plugin.version=25 to mirah.plugin.version=0 in project.properties
  4. Deleted mirah-build.xml and mirah-build-cn1.xml
  5. Created a new Mirah class in the proejct (Using File > New and Select "Mirah Class").
  6. Clean and build.
arcovandervelden commented 9 years ago

Ok step 5 finally did the trick. Project is building fine now, thanks for your help.

Met vriendelijke groet, Best regards,

Arco van der Velden Consultant

[cid:image001.jpg@01CEF015.2D39B860]http://www.synobsys.nl/

Rivium 3e straat 23 2909 LH Capelle aan den IJssel Telefoon: +31 10 458 55 32 Mobiel: +31 6 53 67 68 56 Internet: www.synobsys.nlhttp://www.synobsys.nl/ E-mail: avandervelden@synobsys.nlmailto:avandervelden@synobsys.nl

From: Steve Hannah [mailto:notifications@github.com] Sent: maandag 3 augustus 2015 20:06 To: shannah/cn1-mirah-json-macros cn1-mirah-json-macros@noreply.github.com Cc: Arco van der Velden AvanderVelden@synobsys.nl Subject: Re: [cn1-mirah-json-macros] Project breaks when switching to JDK 1.8 (#5)

OK. I was able to reproduce your issue (by changing the JDK to a different JDK). However, I was also able to fix the issue by simply following the steps I gave you before.

Specifically,

  1. I deleted from the beginning of the build-impl.xml file.
  2. Changed to
  3. Changed mirah.plugin.version=25 to mirah.plugin.version=0 in project.properties
  4. Deleted mirah-build.xml and mirah-build-cn1.xml
  5. Created a new Mirah class in the proejct (Using File > New and Select "Mirah Class").
  6. Clean and build.

— Reply to this email directly or view it on GitHubhttps://github.com/shannah/cn1-mirah-json-macros/issues/5#issuecomment-127354922.

shannah commented 9 years ago

Glad to hear.