From c71c11df818ea5802c91602f40ab216affc3d085 Mon Sep 17 00:00:00 2001 From: Shai Almog <67850168+shai-almog@users.noreply.github.com> Date: Thu, 19 Mar 2026 18:22:15 +0200 Subject: [PATCH] Remove UWP (windows-device) build target from Maven and initializr templates ### Motivation - Remove the UWP (`windows-device`/`uwp`) build target from the Maven plugin, generated POM templates and helper scripts so generated projects and IDE shortcuts no longer advertise or attempt UWP builds. - Remove IDE/run-configuration shortcuts and CLI wrapper commands that referenced UWP so tooling/documentation matches supported targets. - Prevent the initializr `win` module from defaulting to a UWP build target so new projects do not try to submit UWP builds by default. ### Description - Deleted the UWP build wrapper class and mojo (`maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/buildWrappers/BuildWindowsDeviceMojo.java`). - Removed the `windows-device` Ant target from the plugin template (`maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/buildxml-template.xml`) and removed `windows-device/uwp` entries from the IntelliJ `workspace.xml` template (`maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/intellij/workspace.xml`). - Removed `uwp`/`windows-device` profiles and mentions from initializr templates and generated POM fragments (`scripts/initializr/common/pom.xml` and the `common/src/main/resources/*-pom.xml` templates) so starter POMs no longer include a UWP profile. - Updated initializr helper scripts to drop `windows_device`/`uwp` commands from the Bash/Batch wrappers (`scripts/initializr/build.sh`, `scripts/initializr/build.bat`) and removed the UWP command/mentions from the CLI wrapper source and docs (`maven/cli/src/main/batsh/build.batsh`, `maven/cli/README.adoc`). - Changed the `initializr-win` module default build target to `none` (`scripts/initializr/win/pom.xml`) so activating that module does not implicitly select a UWP build. - Adjusted the CN1 build mojo documentation/comment to reflect the removed target from the documented list of supported build targets (`maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/CN1BuildMojo.java`). ### Testing - Ran a repository search to validate remaining references: `rg -n "UWP|uwp|windows-device|buildWindowsUWP" maven/codenameone-maven-plugin maven/cli scripts/initializr -g '!**/target/**'` and confirmed the targeted UWP entries in the changed modules were removed. - Attempted to build the Maven plugin module with Java 8 disabled in this environment by running `mvn -f maven/pom.xml -pl codenameone-maven-plugin -am -DskipTests package`; the build started and progressed to module compilation in this environment (no plugin errors surfaced while packaging reached the plugin module stage). - Attempted to build the initializr module with `mvn -f scripts/initializr/pom.xml -DskipTests package`, which failed in this environment due to an unrelated network issue while downloading `UpdateCodenameOne.jar` (`java.net.SocketException: Network is unreachable`), so the full module package step could not be completed here. --- .../Advanced-Topics-Under-The-Hood.asciidoc | 2 +- docs/developer-guide/Index.asciidoc | 14 +- .../Maven-Creating-CN1Libs.adoc | 8 - .../Push-Notifications.asciidoc | 61 +-- .../Video-Capture-Constraints.asciidoc | 1 - .../developer-guide/Working-with-UWP.asciidoc | 362 +----------------- ...endix_goal_generate_native_interfaces.adoc | 2 - docs/developer-guide/graphics.asciidoc | 3 +- docs/developer-guide/io.asciidoc | 2 +- .../blog/first-uwp-app-and-the-way-forward.md | 2 + ...velopers-can-finally-target-windows-uwp.md | 2 + docs/website/content/blog/kitchensink-uwp.md | 2 + ...update-faster-windows-desktop-uwp-guide.md | 2 + .../blog/uwp-native-interfaces-mix-c-java.md | 2 + docs/website/content/blog/uwp-update.md | 2 + .../blog/windows-phone-8-1-uwp-support.md | 2 + maven/cli/README.adoc | 5 - maven/cli/src/main/batsh/build.batsh | 11 - .../com/codename1/maven/CN1BuildMojo.java | 2 +- .../buildWrappers/BuildWindowsDeviceMojo.java | 19 - .../com/codename1/maven/buildxml-template.xml | 22 -- .../codename1/maven/intellij/workspace.xml | 46 --- scripts/initializr/build.bat | 12 - scripts/initializr/build.sh | 10 - scripts/initializr/common/pom.xml | 11 - .../src/main/resources/barebones-pom.xml | 11 - .../common/src/main/resources/grub-pom.xml | 11 - .../common/src/main/resources/kotlin-pom.xml | 11 - .../common/src/main/resources/tweet-pom.xml | 11 - scripts/initializr/pom.xml | 12 - scripts/initializr/win/pom.xml | 64 ---- .../initializr/WebsiteThemeNativeImpl.cs | 14 - 32 files changed, 33 insertions(+), 708 deletions(-) delete mode 100644 maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/buildWrappers/BuildWindowsDeviceMojo.java delete mode 100644 scripts/initializr/win/pom.xml delete mode 100644 scripts/initializr/win/src/main/csharp/com/codename1/initializr/WebsiteThemeNativeImpl.cs diff --git a/docs/developer-guide/Advanced-Topics-Under-The-Hood.asciidoc b/docs/developer-guide/Advanced-Topics-Under-The-Hood.asciidoc index b973a9b8e8..530ffd464f 100644 --- a/docs/developer-guide/Advanced-Topics-Under-The-Hood.asciidoc +++ b/docs/developer-guide/Advanced-Topics-Under-The-Hood.asciidoc @@ -480,7 +480,7 @@ rim.nativeBrowser true/false defaults to false. Enables the native blackberry br |The JVM that should be bundled in the Windows desktop build. Windows desktop builds only. Supported values: zulu8, zuluFx8, zulu8-32bit, zuluFx8-32bit, zulu11, zuluFx11, zulu11-32bit, zuluFx11-32bit |windows.extensions -|Content to be embedded into the `` section of the Package.appxmanifest file for windows (UWP) builds. +|Historical build hint for the discontinued UWP target. It is retained here only for legacy reference and is not used by current supported build targets. |win.vm32bit |true/false (defaults to false). Forces windows desktop builds to use the Win32 JVM instead of the 64 bit VM making them compatible with older Windows Machines. This is off by default at the moment because of a bug in JDK 8 update 112 that might cause this to fail for some cases diff --git a/docs/developer-guide/Index.asciidoc b/docs/developer-guide/Index.asciidoc index 8a0151adec..66ea21ee90 100644 --- a/docs/developer-guide/Index.asciidoc +++ b/docs/developer-guide/Index.asciidoc @@ -14,7 +14,7 @@ This effectively means bringing that old "Write Once Run Anywhere" (WORA) Java m The things that make Codename One stand out from other tools in this field are: * Write Once Run Anywhere support with no special hardware requirements and 100% code reuse (((Reuse))) -* Compiles Java/Kotlin into native code for iOS, UWP (Universal Windows Platform), Android and even JavaScript/PWA +* Compiles Java/Kotlin into native code for iOS, Android and even JavaScript/PWA * Open Source and Free with commercial backing/support * Easy to use with 100% portable Drag and Drop GUI builder * Full access to underlying native OS capabilities using the native OS programming language (e.g. Objective-C) without compromising portability @@ -59,7 +59,7 @@ On iOS, Codename One built and open sourced ParparVM, which is a very conservati NOTE: Codename One translates the bytecode to C which is faster than Swift/Objective-C. The port code that invokes iOS API's is hand coded in Objective-C -For Windows 10 desktop and Mobile support, Codename One uses iKVM to target UWP (Universal Windows Platform) and has open sourced the changes to the original iKVM code. +Codename One previously offered a UWP (Universal Windows Platform) target based on iKVM. That target was discontinued in release 7.0.229 and is preserved only as historical context in older documentation and blog posts. JavaScript build targets use TeaVM to do the translation statically. TeaVM provides support for threading using JavaScript by breaking the app down in a rather elaborate way. To support the complex UI Codename One uses the HTML5 Canvas API which allows absolute flexibility for building applications. @@ -94,15 +94,11 @@ The key advantages of ParparVM over other approaches are: - *Simple and Extensible* -- to work with ParparVM you need a basic understanding of C. This is crucial for the fast moving world of mobile development, as Apple changes things left and right we need a more agile VM. -===== Windows Phone/UWP +===== Historical Windows Ports -In the past Codename One had 2 major Windows VM port rewrites and 3 or 4 rendering pipelines within those ports (depends on how you would define a "rewrite"). +Codename One experimented with multiple Windows ports over the years, including the legacy Windows Phone target and a later UWP (Universal Windows Platform) target based on iKVM. -NOTE: The old Windows Phone port was deprecated and is no longer supported, the UWP port is the only supported Windows mobile target - -Codename One now targets UWP by leveraging a https://github.com/shannah/cn1-ikvm-uwp[modified version of iKVM] to build native Windows Universal Applications. - -iKVM uses a bytecode to CLR translation process that effectively converts Java bytecode directly to the .net equivalent. This is paired with a port of the Codename One API's that was built for the UWP environment. The UWP port generates native Windows 10 applications that can support ARM Windows devices natively as well as desktops etc. These binaries can be uploaded directly to Microsofts online store without special processing. +NOTE: The UWP target was discontinued in release 7.0.229 and is no longer part of the supported build targets. Older references to it in historical material are retained only for archival context. ===== JavaScript Port diff --git a/docs/developer-guide/Maven-Creating-CN1Libs.adoc b/docs/developer-guide/Maven-Creating-CN1Libs.adoc index 32e8b291f3..565d5cffd2 100644 --- a/docs/developer-guide/Maven-Creating-CN1Libs.adoc +++ b/docs/developer-guide/Maven-Creating-CN1Libs.adoc @@ -223,14 +223,6 @@ If we do a file listing on the project directory, it shows the following: ---- Steves-Mac-Pro:MyFirstLibrary shannah$ find . . -./win -./win/pom.xml -./win/src -./win/src/main -./win/src/main/csharp -./win/src/main/csharp/com -./win/src/main/csharp/com/example -./win/src/main/csharp/com/example/myfirstlib ./tests ./tests/pom.xml ./tests/javase diff --git a/docs/developer-guide/Push-Notifications.asciidoc b/docs/developer-guide/Push-Notifications.asciidoc index 5aa7b4738a..8f99c97a50 100644 --- a/docs/developer-guide/Push-Notifications.asciidoc +++ b/docs/developer-guide/Push-Notifications.asciidoc @@ -65,7 +65,7 @@ Let's take minute to go over the three callbacks in our application. ==== Registration -When your application first opens, it needs to register with the platform's central cloud messaging infrastructure. On Android this involves a call to their GCM/FCM server; on iOS, the call will be to the APNS server, on Windows (UWP) the call will be to the WNS server. And so on. That server will return a unique device ID that can be used to send push notifications to the device. This device ID will then be passed to your `registeredForPush()` method as the `deviceId` parameter so that you can save it somewhere. Typically you would send this value to your own web service so that you can use it to send notifications to the device later on. The device ID will generally not change unless you uninstall and reinstall the app, but you will receive the callback every time the app starts. +When your application first opens, it needs to register with the platform's central cloud messaging infrastructure. On Android this involves a call to their GCM/FCM server; on iOS, the call will be to the APNS server. And so on. That server will return a unique device ID that can be used to send push notifications to the device. This device ID will then be passed to your `registeredForPush()` method as the `deviceId` parameter so that you can save it somewhere. Typically you would send this value to your own web service so that you can use it to send notifications to the device later on. The device ID will generally not change unless you uninstall and reinstall the app, but you will receive the callback every time the app starts. IMPORTANT: The `deviceId` parameter cannot be used directly when sending push messages via the Codename One push service. It needs to be prefixed with a platform identifier so the that push server knows which messaging service to route the message through. You can obtain the complete device ID, including the platform prefix, by calling `Push.getPushKey()` @@ -318,7 +318,7 @@ Rich push notifications refer to push notifications that include functionality a ==== Image Attachment Support -When you attach an image to a push notification, it will appear as a large image in the push notification on the user's device if that device supports it. iOS supports image attachments in iOS 10, Android supports them in API 26. The Javascript port, and Windows (UWP) port do not currently support image attachments. If a platform that doesn't support image attachments receives a push notification with an image attachment, it will just ignore it. +When you attach an image to a push notification, it will appear as a large image in the push notification on the user's device if that device supports it. iOS supports image attachments in iOS 10, Android supports them in API 26. The Javascript port does not currently support image attachments. If a platform that doesn't support image attachments receives a push notification with an image attachment, it will just ignore it. Push type "99" is used to send rich push notifications. It is sort of a "meta" push type, or a "container", as it can be used to send any of the other push types, but to attach additional content, such as image attachments. @@ -590,53 +590,9 @@ You can read more about the certificate wizard in the https://www.codenameone.co You can read more about the certificate wizard in the <> //// -[[push-bureaucracy-uwp-section]] -==== The Push Bureaucracy - UWP (Windows 10) +==== Historical Note About UWP Push -Push on UWP requires only that you register your app in the Windows Store Dashboard. You will then be provided with credentials (Package Security Identifier (SID) and a secret key) that you can use to send push notifications to your app. To begin this process, go to the https://developer.microsoft.com/en-us/windows[Windows Dev Center] and select "Dashboard". - -// HTML_ONLY_START -You can read more about the registering your app in the Windows store https://www.codenameone.com/manual/appendix-uwp.html#building-for-the-windows-store[here]. -// HTML_ONLY_END -//// -//PDF_ONLY -You can read more about the registering your app in the Windows store <> -//// - -Once you have registered your app in the Windows Store, and completed the corresponding setup in Codename One settings (e.g. generated a certificate), you should proceed to configure your app for push notifications. - -Navigate to the App overview page for your app inside the Windows store dashboard. Under the "Services" menu (left side), select "Push notifications". - -.Push notifications menu item in Windows Store dashboard -image::img/windows-store-push-notications-menu.png[Push notifications menu item in Windows Store dashboard,scaledwidth=10%] - -Then, select the "WNS/MPNS" option that appears in the left menu under "Push notifications" - -.WNS menu item in Windows Store dashboard -image::img/windows-store-wns-menu-item.png[WNS menu item in Windows Store dashboard,scaledwidth=10%] - -This will bring you to a page with information about WNS push notifications. You'll be interested in the paragraph shown here: - -.Live services link -image::img/wns-live-services-link.png[Live services link,scaledwidth=20%] - -Click on the "Live Services Site" link. - -You'll be prompted to log in using your Windows Store account. Then you'll be taken to a page that contains the push credentials that you can use for sending push messages to your app. You'll be interested in two values: - -Package SID. (It will be of the form "ms-app://XXXXXXXXXXX...") - -.WNS Package SID -image::img/wns-package-id.png[WNS Package SID,scaledwidth=20%] - -Client Secret. This will be listed in a section called "Application Secrets" - -.WNS Client secret -image::img/wns-client-secret.png[WNS Client secret,scaledwidth=20%] - -You will use these two values for sending push notifications to your app. - -Microsoft provides full instructions on setting up WNS notifications https://msdn.microsoft.com/library/windows/apps/hh465407[here] but much of this is not relevant for Codename One apps. For Codename One apps, one need only obtain Package Security ID and client secret values for the app. +The Codename One UWP target was discontinued in release 7.0.229. Older references to WNS setup, Package SID values, and client secrets are preserved only in archived material for teams maintaining legacy code outside the current supported build flow. [[push-bureaucracy-javascript-section]] ==== The Push Bureaucracy - Javascript @@ -686,13 +642,8 @@ The instructions for extracting the API key for Google are <>. +Historical UWP push credentials (SID/client secret) were used only by the discontinued UWP target, which was removed in release 7.0.229. -[source,java] ------ -private static final String WNS_SID = "ms-app://**************************************"; -private static final String WNS_CLIENT_SECRET = "*************************"; ------ When sending push to iOS devices we have two modes: - Production @@ -775,8 +726,6 @@ We can send a push message as an HTTP `POST` request to https://push.codenameone - *production* - `true`/`false` whether to push to production or sandbox environment in iOS - `ITUNES_PRODUCTION_PUSH` - *certPassword* - password for the push certificate in iOS push - `ITUNES_DEVELOPMENT_PUSH_CERT_PASSWORD` or `ITUNES_PRODUCTION_PUSH_CERT_PASSWORD` - *cert* - http or https URL containing the push certificate for an iOS push - `ITUNES_DEVELOPMENT_PUSH_CERT` or `ITUNES_PRODUCTION_PUSH_CERT` -- *sid* - The package security ID (SID) for UWP apps. -- *client_secret* - The client secret for UWP apps. We can thus send a push from Java EE using code like this: diff --git a/docs/developer-guide/Video-Capture-Constraints.asciidoc b/docs/developer-guide/Video-Capture-Constraints.asciidoc index 1bddcb7e57..1062e903ea 100644 --- a/docs/developer-guide/Video-Capture-Constraints.asciidoc +++ b/docs/developer-guide/Video-Capture-Constraints.asciidoc @@ -109,7 +109,6 @@ if (cnst.isSizeSupported()) { | iOS | Limited | Yes | Yes | No | Android | No* | Yes | Yes | Yes | Simulator/JavaSE | No | No | No | No -| UWP | No* | Yes | Yes | No | Javascript (Desktop) | Yes | Yes | Yes | No | Javascript (Android) | Yes | Yes | Yes | No | Javascript (iOS) | Yes | Yes | Yes | No diff --git a/docs/developer-guide/Working-with-UWP.asciidoc b/docs/developer-guide/Working-with-UWP.asciidoc index 218dbba94c..6ca1423a99 100644 --- a/docs/developer-guide/Working-with-UWP.asciidoc +++ b/docs/developer-guide/Working-with-UWP.asciidoc @@ -1,360 +1,8 @@ == Working with UWP -UWP Apps may distributed in 2 different ways: +[IMPORTANT] +==== +The Codename One UWP (Universal Windows Platform) target was discontinued in release 7.0.229. This chapter is retained only to document historical context for legacy projects and older blog posts. New projects should target the currently supported Codename One platforms instead. +==== -. *In the Windows App Store*. (This should be used for deployment of any production app). -. *Outside of the Windows App Store* via sideloading directly onto a device. This should only be used for development. - -=== Deploying Outside of the Windows App Store (Sideloading) - -UWP apps may be deployed directly to Windows 10 desktop and mobile devices without any need to involve the Windows Store. This process is only realistic, though, for testing and debugging your app during development because it requires you to enable "Development" mode on the device. In addition, installation is a little bit more complicated than simply downloading an app over the internet. The process for deploying to Windows 10 *desktop* devices is different than the process for *mobile* devices. These are described in the following sections. - -==== Side-loading to Windows 10 Mobile Devices - -===== Enabling Developer Mode on Device - -Before you can side-load apps onto your phone, you'll need to set up your phone for development. - -. In "Settings", select "Update & Security" > "For developers" -+ -image::img/uwp-mobile-settings-update-security.png[Updates & Security in UWP Mobile settings,scaledwidth=20%] -image::img/uwp-mobile-settings-developer-mode.png[Developer mode in UWP Mobile settings,scaledwidth=20%] -. Select "Developer mode" -. Under "Device Discovery", make sure that the "Make your device visible to USB connections and your local network" is set to "On". -+ -image::img/uwp-mobile-settings-devicediscovery-on.png[Device discover on in UWP Mobile settings,scaledwidth=20%] -. Make sure that "Device Portal" is set to "On" -+ -image::img/uwp-mobile-settings-deviceportal-on.png[Device Portal in UWP Mobile settings,scaledwidth=20%] -. When you switch "Device Portal" to "On" it should show you an address that you can access the Phone at via wifi. (E.g. https://10.0.1.11). **Remember this address**, you're going to use it to install all of your apps onto the device. -+ -NOTE: This will be a local address within your local network. It **won't** be available to the outside world. - -At this point, your phone should be ready to receive "Side-loaded" apps. This was a one-time setup, so you shouldn't have to do it again, until you set up another device. - -===== Building App for UWP - -Now that your device is set up for development, you can proceed to build your app. - -. Select the "Mobile Debug Build" option in the UWP Codename One Settings. -+ -image::img/uwp-cn1settings-uwp.png[Windows panel of Codename One Settings,scaledwidth=40%] -. Select the "Send Windows UWP Build" option in the Codename One menu of your IDE. This will initiate the build on the Codename One build server. -+ -image::img/uwp-send-build.png[Send UWP Build,scaledwidth=20%] -. Log into the Codename One dashboard to watch the build progress. When it is complete, you'll be able to download the ".appxbundle" file to your desktop. -+ -image::img/uwp-dashboard-download-appxbundle.png[Download appxbundle file from dashboard,scaledwidth=20%] -+ -WARNING: You cannot simply download the .appxbundle file directly to your Windows Phone 10 mobile device and install it. It will indeed allow you to download it, and will give you an option to install it, but the install will silently fail. - -===== Installing App On Device - -. Point your computer's web browser to the address for your mobile device. (This is the address listed when you turned on the "Device Portal" in the "Enabling Developer Mode on Device" section above. This will open the App Manager page. -. Click on the "Apps" item in the left menu. -+ -image::img/uwp-app-manager-apps.png[UWP Apps Manager,scaledwidth=40%] -. If this is the first time installing a UWP (debug) app on your device, you will need to install the dependencies. You can find the dependencies for mobile/ARM apps https://github.com/codenameone/cn1-binaries/tree/master/uwp/Dependencies/ARM[here]. You'll need to install both `Microsoft.NET.CoreRuntime.1.0.appx` and `Microsoft.VCLibs.ARM.Debug.14.00.appx`. **If this is not the first time installing a UWP app, you can skip to the next step**. -.. Under the "Install App" section, click the "Choose File" button and navigate through the file chooser to select the "Microsoft.NET.CoreRuntime.1.0.appx" file. Then click "Go". -.. Do the same for the "Microsoft.VCLibs.ARM.Debug.14.00.appx" file. -. Under the "Install App" section, click the "Choose File" button and navigate through the file chooser to select the .appxbundle file for your app. -. Once you have the appxbundle selected, you should press "Go" under the "Deploy" subheading. This will install the app and, if all went well, your app will appear in the "Recently Added" section in the apps list of the phone. -+ -image::img/uwp-mobile-recently-added.png[UWP Recently added menu,scaledwidth=20%] - -==== Side-loading to Windows 10 Desktop Devices - -===== Enabling Developer Mode on PC - -The easiest way to be able to run your development apps on a Windows 10 PC is to enable developer mode. This will allow you to install any app even if it is just "self-signed". - -To enable developer mode, open "Settings", then select "Updates an Security". Under the "For Developers" menu item, select "Developer Mode" as shown below: - -image::img/uwp-pc-settings-developer-mode.png[UWP Windows 10 Developer Mode,scaledwidth=50%] - -===== Building the App - -Before building the app, you'll need to ensure that the build target is set to "Debug Desktop" in the Codename One Settings panel for Windows apps. - -Steps: - -. Open Codename One Settings (steps vary by IDE). On Netbeans you will find "Codename One Settings" by right clicking your project's node in the project explorer, and look in the "Codename One" submenu: -+ -image::img/uwp-netbeans-codenameone-settings-menu.png[Codename One Settings menu in Netbeans,scaledwidth=20%] -. Click on "Windows Settings": -+ -image::img/uwp-cn1settings-windows-settings-menu-item.png[Windows Settings menu item,scaledwidth=20%] -. Under "Build Type", make sure that "Desktop Debug Build" is selected, as shown below: -+ -image::img/uwp-cn1settings-debug-desktop-selected.png[Desktop Debug Build Selected,scaledwidth=50%] -. Save the changes by clicking the "Disk" icon in the upper right: -+ -image::img/uwp-cn1settings-disk-icon.png[Save icon,scaledwidth=2%] - -Now you can proceed to send the build to the build server. - -. Select the "Send Windows UWP Build" option in the Codename One menu of your IDE. This will initiate the build on the Codename One build server. -+ -image::img/uwp-send-build.png[Send UWP Build,scaledwidth=20%] -. Log into the Codename One dashboard to watch the build progress. When it is complete, you'll be able to download the ".zip" file to the Windows 10 PC on which you wish to install the app. -+ -image::img/uwp-dashboard-download-appxbundle.png[Download appxbundle file from dashboard,scaledwidth=20%] - -===== Installing the App - -Start by extracting the .zip file. (Navigate to the folder where the zip was downloaded, right click it, and select "Extract all" as shown below: - -.Extract UWP zip file -image::img/uwp-extract-zip-file.png[Extract UWP zip file,scaledwidth=40%] - -After extraction, open the resulting directory. You should see contents similar to the following: - -.UWP Zip file contents -image::img/uwp-zip-file-contents.png[UWP Zip file contents,scaledwidth=40%] - -**Downloading Dependencies** - -If this is your first time installing a UWP app on this PC, you may need to add the dependencies before you can install. You can download the dependencies https://github.com/codenameone/cn1-binaries/raw/master/uwp/Dependencies.zip[here]. Extract "Dependencies.zip" and copy the resulting "Dependencies" directory into the app install directory. Your app install directory should now look like: - -.UWP Zip file contents with dependencies -image::img/uwp-zip-contents-with-dependencies.png[UWP Zip file contents with dependencies,scaledwidth=30%] - -**Running the Powershell Script** - -We are *finally* at the point where we can run the installer. - -Right-click on the "Add-AppDevPackage" icon, and select "Run in Powershell", as shown: - -.UWP Install by run in powershell -image::img/uwp-run-in-powershell.png[UWP Install by run in powershell,scaledwidth=30%] - -You may be prompted that you need to change the execution policy, in Powershell: - -.UWP Powershell change execution policy -image::img/uwp-powershell-change-execution-policy.png[UWP Powershell change execution policy,scaledwidth=40%] - -Enter "Y" at the prompt to allow this. - -If all goes well, you should see a message saying that the app as successfully installed. - -.UWP Powershell app successfully installed -image::img/uwp-powershell-success.png[UWP Powershell app successfully installed,scaledwidth=40%] - -And if you look in your "Windows Menu" under "All Apps", you should see your app listed there: - -.Windows 10 App listed in All Apps -image::img/uwp-windows-10-start-menu-app-installed.png[Windows 10 App listed in All Apps,scaledwidth=15%] - -[[building-for-the-windows-store]] -==== Building for the Windows Store - -If you want to be able to distribute your app to the public, the Windows Store is your best channel. Building for the Windows store involves roughly 3 steps: - -. Reserve a name for your app in the Windows Store -. Build your app using the "Windows Store Upload" build type. -. Upload the resulting .appxupload file to the Windows store. - -Let's go through these steps in more detail. Start https://developer.microsoft.com/en-us/windows/publish[here]. - -.Publish windows apps webpage -image::img/uwp-windows-store-publish.png[Publish windows apps webpage,scaledwidth=40%] - -If you don't already have an account, sign up for one. Then log in. Once logged in, you can click the "Dashboard" link on the toolbar. - -.Windows Store dashboard -image::img/uwp-windows-store-dashboard.png[Windows Store dashboard,scaledwidth=40%] - -Under the "Your apps" section (on the left in the above screenshot), click the "Create new app" button. - -.Reserve name form -image::img/uwp-windows-store-reserve-name.png[Reserve name form,scaledwidth=40%] - -Enter a name for your app, and click "Reserve app name". - -If the name was available, it should take you to the app overview page for your new app. There's quite a few options there to play with, but we're not going to worry about any of them for now. All we need to know is: - -. Your App's ID -. Your App's Publisher ID - -You can get this information by scrolling down to the bottom of the "App overview" page and clicking the "View app identity details" under the "App Management" > "App identity" section: - -.App Identity section -image::img/uwp-windows-store-app-identity.png[App Identity section,scaledwidth=40%] - -You'll see a page with the information we need shown below: - -.App identity details -image::img/uwp-windows-store-wpp-identity-info.png[App identity details,scaledwidth=40%] - -The next step is to copy this information into your Codename One project. - -Open up the Codename One Settings for your project and go to the "Windows Settings" section. - -Copy and paste the "Package/Identity/Name" and "Package/Properties/PublisherDisplayName" values from the windows store into the "App ID" and "Publisher Display Name" fields respectively. - -WARNING: It is important that your App ID and Publisher Display Name match exactly what you have in the store, or your app will fail at the validation stage when you try to upload your app to the store. - -Next, click on the "Generate" button next to the Certificate field. - -This will open a dialog titled "Certificate Generator". Paste the value from the "Package/Identity/Publisher" listed in the Windows Store into the Publisher ID field as shown below: - -.Certificate Generator -image::img/uwp-certificate-generator.png[Certificate Generator,scaledwidth=20%] - -Then click OK. This will generate a .pfx file inside your project folder. - -The "Display Name" must also match that app name in the store. - -Finally, make sure that "Windows Store Upload" is selected in the "Build Type" field. For the example above, my settings form looks like the following screenshot when I am done. - -.Settings for Windows Store uploads -image::img/uwp-store-upload-settings.png[Settings for Windows Store uploads,scaledwidth=40%] - -When you are done, hit the "Save" icon in the upper right corner of the window to save your changes. - -Finally, select "Codename One" > "Send Windows UWP Build" in your IDE's project explorer. - -This will produce an .appxupload file that you can upload to the Windows Store. - -See the https://msdn.microsoft.com/en-us/windows/uwp/publish/upload-app-packages[Microsoft's documentation on uploading app packages] for more information on the remaining steps. - -//// -==== Custom Builds - -TODO - -==== Build Hints - -TODO -//// - -=== Debugging UWP Apps - -On most platforms, there is a device log that records errors, exceptions, and messages written to STDOUT. UWP, unfortunately, doesn't seem to provide this. If you are running on Windows Phone 10, there doesn't seem to be any device log at all. There is a separate program called "Field Medic" that you can use to do some logging, but it doesn't capture application errors or STDOUT messages. - -The best way to debug apps on device is to enable crash protection in your app. This can be enabled by adding the following to your app's `init()` method: - -[source,java] ------ -Log.bindCrashProtection(true); ------ - -With crash protection enabled, you'll receive an email whenever an exception is thrown that isn't caught in your application code. The email will include the stack trace of the error along with any output you had previously provided using the `com.codename1.io.Log` class (e.g. `Log.p()` and `Log.e()`). - -NOTE: A Pro account (or higher) is required to receive crash protection emails. - -==== No Line Numbers in Stack Traces - -One major annoyance of UWP is that it doesn't provide line numbers in its stack traces. Here is what you can expect to see in a stack trace: - ------ -[EDT] 0:0:7,683 - Results null -[EDT] 0:0:7,799 - Exception: java.lang.NullPointerException - null - at com.codename1.ui.Display.invokeAndBlock(Runnable r, Boolean dropEvents)[EDT] 0:0:7,815 - Exception in AppName version 1.1 -[EDT] 0:0:7,830 - OS win -[EDT] 0:0:7,836 - Error java.lang.NullPointerException -[EDT] 0:0:7,836 - Current Form null -[EDT] 0:0:7,836 - Exception: java.lang.NullPointerException - null -at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) - at System.Environment.get_StackTrace() - at UWPApp.IKVMReflectionHelper.getCurrentStackTrace() - at java.lang.ThrowableHelper.getCurrentStackTrace() - at java.lang.Throwable..ctor() - at java.lang.Exception..ctor() - at java.lang.RuntimeException..ctor() - at java.lang.NullPointerException..ctor() - at java.lang.Throwable.__mapImpl(Exception ) - at IKVM.Internal.ExceptionHelper.MapException[T](Exception x, Boolean remap, Boolean unused) - at IKVM.Runtime.ByteCodeHelper.MapException[T](Exception x, MapFlags mode) - at com.codename1.ui.Display.invokeAndBlock(Runnable r, Boolean dropEvents) - at com.codename1.ui.Display.invokeAndBlock(Runnable r) - at com.codename1.impl.SilverlightImplementation.editString(Component n1, Int32 n2, Int32 n3, String n4, Int32 n5) - at com.codename1.impl.CodenameOneImplementation.editStringImpl(Component cmp, Int32 maxSize, Int32 constraint, String text, Int32 initiatingKeycode) - at com.codename1.ui.Display.editString(Component cmp, Int32 maxSize, Int32 constraint, String text, Int32 initiatingKeycode) - at com.codename1.ui.Display.editString(Component cmp, Int32 maxSize, Int32 constraint, String text) - at com.codename1.ui.TextArea.editString() - at com.codename1.ui.TextArea.pointerReleased(Int32 x, Int32 y) - at com.codename1.ui.TextField.pointerReleased(Int32 x, Int32 y) - at com.codename1.ui.Form.pointerReleased(Int32 x, Int32 y) - at com.codename1.ui.Component.pointerReleased(Int32[] x, Int32[] y) - at com.codename1.ui.Display.handleEvent(Int32 offset) - at com.codename1.ui.Display.edtLoopImpl() - at com.codename1.ui.Display.mainEDTLoop() - at com.codename1.ui.RunnableWrapper.run() - at com.codename1.impl.CodenameOneThread.run() - at java.lang.Thread.threadProc2() - at java.lang.Thread.threadProc() - at java.lang.Thread.1.Invoke() - at com.codename1.impl.NativeThreadImpl.<>c__DisplayClass6_0.b__0() - at System.Threading.Tasks.Task.InnerInvoke() - at System.Threading.Tasks.Task.Execute() - at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj) - at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) - at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) - at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) - at System.Threading.Tasks.ThreadPoolTaskScheduler.LongRunningThreadWork(Object obj) - at System.Threading.ThreadHelper.ThreadStart_Context(Object state) - at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) - at System.Threading.ThreadHelper.ThreadStart(Object obj) -Originating from: -Message=Object reference not set to an instance of an object. - at com.propertycross.codename1.PropertyCross.1.run() - at com.codename1.ui.Display.processSerialCalls() - at com.codename1.ui.Display.edtLoopImpl() - at com.codename1.ui.Display.invokeAndBlock(Runnable r, Boolean dropEvents) ------ - -It will show you the call stack with the names of the methods. But it won't show you the line numbers. If the stack trace isn't specific enough, you can add `Log.p()` statements in various positions in my code to help narrow down the source of the exception. - -=== Customizing the Status Bar - -On mobile, the status bar (the bar across the top of the screen with the time, battery level etc...) is updated each time a form is shown. The foreground color, background color, and background opacity are set using the unselected style of the form being shown. - -You can override these colors application-wide using the following display properties: - -. `windows.StatusBar.ForegroundColor` - A string representation of an integer RGB color. -. `windows.StatusBar.BackgroundColor` - A string representation of an integer RGB color. -. `windows.StatusBar.BackgroundTransparency` - A string representation of 0-255 integer. - -e.g. - ----- -Display d = Display.getInstance(); -d.setProperty("windows.StatusBar.ForegroundColor", String.valueOf(0xff0000)); // red -d.setProperty("windows.StatusBar.BackgroundColor", String.valueOf(0xffffff)); // white -d.setProperty("windows.StatusBar.BackgroundOpacity", String.valueOf(255)); // fully opaque ----- - -=== Associating App with File Types - -It is possible to associate your application with file types on UWP using the standard Codename One "AppArg" method in conjunction with the `windows.extensions` build hint. Any content you place in the `windows.extensions` build hint will be embedded inside the `` section of the Package.appxmanifest file. Then if the app is opened as a result of the user opening a file of the specified type, then the path to that file will be made available to the app via `Display.getProperty("AppArg")`. - -**Example `windows.extensions` Value**: - -The following value would associate the app with the file extension ".alsdk". This example is taken from https://msdn.microsoft.com/vi-vn/windows/uwp/launch-resume/handle-file-activation?f=255&MSPPError=-2147217396[this MSDN document]. - ----- - - - images\icon.png - - .alsdk - - - ----- - -To register your app to be able to handle PDFs, you would add: - ----- - - - images\icon.png - - .pdf - - - ----- - -For more information about using the "AppArg" property, see https://www.codenameone.com/blog/intercepting-urls-on-ios-android.html[this blog post] which describes its usage on iOS and Android for intercepting URL types. +If you are maintaining an older codebase or reading archived material that mentions UWP, treat those instructions as historical only. The current Maven build templates, initializr output, and IDE shortcuts no longer include a UWP target. diff --git a/docs/developer-guide/appendix_goal_generate_native_interfaces.adoc b/docs/developer-guide/appendix_goal_generate_native_interfaces.adoc index 2f74bbea77..3ca6d574a0 100644 --- a/docs/developer-guide/appendix_goal_generate_native_interfaces.adoc +++ b/docs/developer-guide/appendix_goal_generate_native_interfaces.adoc @@ -26,8 +26,6 @@ ios:: . `ios/src/main/objectivec/com_mycompany_myapp_MyNativeImpl.m` android:: `android/src/main/java/com/mycompany/myapp/MyNativeImpl.java` -windows (uwp):: -`win/src/main/csharp/com/mycompany/myapp/MyNativeImpl.cs` javascript:: `javascript/src/main/javascript/com_mycompany_myapp_MyNativeImpl.js` diff --git a/docs/developer-guide/graphics.asciidoc b/docs/developer-guide/graphics.asciidoc index 6c07fb34d3..82072626ea 100644 --- a/docs/developer-guide/graphics.asciidoc +++ b/docs/developer-guide/graphics.asciidoc @@ -171,7 +171,7 @@ paths and curves and caching the shape drawn in the GPU. === Device Support Shapes and transforms ship with all of Codename One's actively maintained ports -(Android, iOS, JavaScript, desktop/Simulator, and UWP). Older platforms that +(Android, iOS, JavaScript, and desktop/Simulator). Older platforms that have reached end of life may lack these APIs, so keep the guard code shown below if you still target them with legacy builds. @@ -373,7 +373,6 @@ you need a fallback path. | JavaScript | Yes -| UWP | Yes |=== diff --git a/docs/developer-guide/io.asciidoc b/docs/developer-guide/io.asciidoc index bd2a7244b0..1f83171020 100644 --- a/docs/developer-guide/io.asciidoc +++ b/docs/developer-guide/io.asciidoc @@ -263,7 +263,7 @@ In general SQL seems overly complex for most embedded device programming tasks. .Portability Of SQLite **** -SQLite is supported on iOS, Android, JavaScript, Desktop/Simulator, and UWP +SQLite is supported on iOS, Android, JavaScript, and Desktop/Simulator builds. The JavaScript port relies on the browser's WebSQL implementation, so it may be unavailable in environments that have already removed that feature. diff --git a/docs/website/content/blog/first-uwp-app-and-the-way-forward.md b/docs/website/content/blog/first-uwp-app-and-the-way-forward.md index 4195dc2763..8908243064 100644 --- a/docs/website/content/blog/first-uwp-app-and-the-way-forward.md +++ b/docs/website/content/blog/first-uwp-app-and-the-way-forward.md @@ -11,6 +11,8 @@ author: Shai Almog ![Header Image](/blog/first-uwp-app-and-the-way-forward/solitaire-uwp.jpg) +> **Historical note:** Codename One's UWP target was discontinued in release **7.0.229**. This post is preserved for historical context only, and its build/setup instructions no longer apply to current Codename One projects. + The UWP (Universal Windows Platform) port is finally stable enough to get an [app into the Microsoft store](https://www.microsoft.com/en-us/store/p/codename-one-solitaire/9nblggh51z60). Steve published out Solitaire demo into the Microsoft appstore and it passed thru the whole process. You diff --git a/docs/website/content/blog/java-developers-can-finally-target-windows-uwp.md b/docs/website/content/blog/java-developers-can-finally-target-windows-uwp.md index c4b2e2ee55..822c202bae 100644 --- a/docs/website/content/blog/java-developers-can-finally-target-windows-uwp.md +++ b/docs/website/content/blog/java-developers-can-finally-target-windows-uwp.md @@ -11,6 +11,8 @@ author: Shai Almog ![Header Image](/blog/java-developers-can-finally-target-windows-uwp/universal-windows-apps_thumb.jpg) +> **Historical note:** Codename One's UWP target was discontinued in release **7.0.229**. This post is preserved for historical context only, and its build/setup instructions no longer apply to current Codename One projects. + After many months of work and effort put in by all of us but especially by [Steve Hannah](http://twitter.com/shannah78) and [Fabrício Carvalho Cabeça](https://twitter.com/ravnos_kun) we are finally live with the Windows Universal Platform (AKA UWP) native build target! diff --git a/docs/website/content/blog/kitchensink-uwp.md b/docs/website/content/blog/kitchensink-uwp.md index 60329021e0..2d9fdb10cc 100644 --- a/docs/website/content/blog/kitchensink-uwp.md +++ b/docs/website/content/blog/kitchensink-uwp.md @@ -11,6 +11,8 @@ author: Shai Almog ![Header Image](/blog/kitchensink-uwp/kitchensink-sidemenu.png) +> **Historical note:** Codename One's UWP target was discontinued in release **7.0.229**. This post is preserved for historical context only, and its build/setup instructions no longer apply to current Codename One projects. + The latest plugin update includes a new kitchen sink version that includes quite a few bug fixes, enhancements and a new side menu design that looks much better. We also got the demo published on the Windows Store thru the UWP port which isn’t so much a testament to the maturity of the port as much as it is to the limited diff --git a/docs/website/content/blog/parse-update-faster-windows-desktop-uwp-guide.md b/docs/website/content/blog/parse-update-faster-windows-desktop-uwp-guide.md index 7c10cd6392..8f7a8b4068 100644 --- a/docs/website/content/blog/parse-update-faster-windows-desktop-uwp-guide.md +++ b/docs/website/content/blog/parse-update-faster-windows-desktop-uwp-guide.md @@ -11,6 +11,8 @@ author: Shai Almog ![Header Image](/blog/parse-update-faster-windows-desktop-uwp-guide/universal-windows-apps_thumb.jpg) +> **Historical note:** Codename One's UWP target was discontinued in release **7.0.229**. This post is preserved for historical context only, and its build/setup instructions no longer apply to current Codename One projects. + [Chidiebere Okwudire](https://github.com/sidiabale) of [SMash ICT Solutions](https://www.smash-ict.com/) just released [version 3.0 of the parse4cn1 library](https://github.com/sidiabale/parse4cn1/releases/tag/parse4cn1-3.0). The biggest feature of which is support for the open source Parse server which should work with some of the diff --git a/docs/website/content/blog/uwp-native-interfaces-mix-c-java.md b/docs/website/content/blog/uwp-native-interfaces-mix-c-java.md index 7efe63ecbb..f0cd1c6ac6 100644 --- a/docs/website/content/blog/uwp-native-interfaces-mix-c-java.md +++ b/docs/website/content/blog/uwp-native-interfaces-mix-c-java.md @@ -11,6 +11,8 @@ author: Steve Hannah ![Header Image](/blog/uwp-native-interfaces-mix-c-java/uwp-on-codenameone.jpg) +> **Historical note:** Codename One's UWP target was discontinued in release **7.0.229**. This post is preserved for historical context only, and its build/setup instructions no longer apply to current Codename One projects. + The next plugin update will add support for native interfaces in UWP. This opens the door for you to really dig into the native features of Windows if you wish to do so. Crucially, this will also allow us to push forward with windows support on some of the cn1libs that require native functionality. As a proof of concept, I have updated the CN1WebSockets library to support windows. It now works on all major platforms: iOS, Android, Javascript, UWP (Windows 10), Simulator, and Desktop builds. If you require sockets in your app, I highly recommend web sockets, as it is the most portable option currently available. For more information about the CN1 Websockets lib, check out my [previous blog post on the subject](/blog/introducing-codename-one-websocket-support/). diff --git a/docs/website/content/blog/uwp-update.md b/docs/website/content/blog/uwp-update.md index 292b46f7cc..41444541ee 100644 --- a/docs/website/content/blog/uwp-update.md +++ b/docs/website/content/blog/uwp-update.md @@ -11,6 +11,8 @@ author: Shai Almog ![Header Image](/blog/uwp-update/uwp-on-codenameone.jpg) +> **Historical note:** Codename One's UWP target was discontinued in release **7.0.229**. This post is preserved for historical context only, and its build/setup instructions no longer apply to current Codename One projects. + We’ve mentioned the progress we made with the Universal Windows Platform support in the past. This support is moving at a very fast pace…​ By now we support `SQLite` as well as `Media`, `Capture` and a slew of other features that weren’t available for diff --git a/docs/website/content/blog/windows-phone-8-1-uwp-support.md b/docs/website/content/blog/windows-phone-8-1-uwp-support.md index 900c5e0682..c2ff225497 100644 --- a/docs/website/content/blog/windows-phone-8-1-uwp-support.md +++ b/docs/website/content/blog/windows-phone-8-1-uwp-support.md @@ -11,6 +11,8 @@ author: Shai Almog ![Header Image](/blog/windows-phone-8-1-uwp-support/universal-windows-apps_thumb.jpg) +> **Historical note:** Codename One's UWP target was discontinued in release **7.0.229**. This post is preserved for historical context only, and its build/setup instructions no longer apply to current Codename One projects. + [Fabricio](https://twitter.com/ravnos_kun) just [submitted a pull request](https://github.com/codenameone/CodenameOne/pull/1757) that Steve merged to provide support for Windows Phone 8.1 in our new UWP (Universal Windows Platform) port of Codename One. diff --git a/maven/cli/README.adoc b/maven/cli/README.adoc index 60e6d85fa0..eac06e0f46 100644 --- a/maven/cli/README.adoc +++ b/maven/cli/README.adoc @@ -103,11 +103,6 @@ Builds app for Windows. Uses Codename One build server. Windows Desktop builds are a Pro user feature. https://www.codenameone.com/pricing.html[See pricing]. You can the `jar` command to build your app as a cross-platform desktop app (executable jar). ==== -windows_device:: -Builds app for Windows devices (.appx i.e. UWP). - -uwp:: -Alias of `windows_device` javascript:: Builds app as Javascript app (for Web). Uses Codeame One build server. diff --git a/maven/cli/src/main/batsh/build.batsh b/maven/cli/src/main/batsh/build.batsh index 6c41dfb31a..116e96edfe 100644 --- a/maven/cli/src/main/batsh/build.batsh +++ b/maven/cli/src/main/batsh/build.batsh @@ -12,15 +12,6 @@ function windows_desktop() { call(MVNW, "package", "-DskipTests", "-Dcodename1.platform=javase", "-Dcodename1.buildTarget=windows-desktop"); } -function windows_device() { - global MVNW; - call(MVNW, "package", "-DskipTests", "-Dcodename1.platform=win", "-Dcodename1.buildTarget=windows-device"); -} - -function uwp() { - global MVNW; - windows_device(); -} function javascript() { global MVNW; @@ -95,8 +86,6 @@ function help() { println(" windows_desktop"); println(" Builds Windows desktop app."); println(" *Windows Desktop builds are a Pro user feature."); - println(" windows_device"); - println(" Builds UWP Windows app."); println(" javascript"); println(" Builds as a web app."); println(" *Javascript builds are an Enterprise user feature"); diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/CN1BuildMojo.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/CN1BuildMojo.java index c1914d10bf..8225a0d72e 100644 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/CN1BuildMojo.java +++ b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/CN1BuildMojo.java @@ -49,7 +49,7 @@ public class CN1BuildMojo extends AbstractCN1Mojo { /** * The build target, corresponding to ANT build targets in build-template.xml. E.g. javascript, - * mac-os-x-desktop, windows-desktop, windows-device, ios-device, ios-device-release, android-device, war + * mac-os-x-desktop, windows-desktop, ios-device, ios-device-release, android-device, war */ @Parameter(property = "codename1.buildTarget", required = true, defaultValue = "${codename1.defaultBuildTarget}") private String buildTarget; diff --git a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/buildWrappers/BuildWindowsDeviceMojo.java b/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/buildWrappers/BuildWindowsDeviceMojo.java deleted file mode 100644 index 4de6fe6e03..0000000000 --- a/maven/codenameone-maven-plugin/src/main/java/com/codename1/maven/buildWrappers/BuildWindowsDeviceMojo.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.codename1.maven.buildWrappers; - - -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.ResolutionScope; - -@Mojo(name="buildWindowsUWP", requiresDependencyResolution = ResolutionScope.NONE, - requiresDependencyCollection = ResolutionScope.NONE) -public class BuildWindowsDeviceMojo extends AbstractBuildWrapperMojo { - @Override - protected String getPlatform() { - return "win"; - } - - @Override - protected String getBuildTarget() { - return "windows-device"; - } -} diff --git a/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/buildxml-template.xml b/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/buildxml-template.xml index 5f40fac6a0..859213913e 100644 --- a/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/buildxml-template.xml +++ b/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/buildxml-template.xml @@ -184,26 +184,4 @@ This the Ant build script used by the CN1BuildMojo for sending to the build serv - - - - - - - diff --git a/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/intellij/workspace.xml b/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/intellij/workspace.xml index 6a3d1984d4..7c9238c41f 100644 --- a/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/intellij/workspace.xml +++ b/maven/codenameone-maven-plugin/src/main/resources/com/codename1/maven/intellij/workspace.xml @@ -533,51 +533,6 @@ - - - - - - -