Code Open master
authorLee Sujin <lee.sujin@samsung.com>
Tue, 19 Dec 2017 01:48:21 +0000 (10:48 +0900)
committerLee Sujin <lee.sujin@samsung.com>
Tue, 19 Dec 2017 02:27:46 +0000 (11:27 +0900)
Change-Id: I0cfc0e148f6ec4b6119f662bf8ec06d044ff345a

27 files changed:
.gitignore [new file with mode: 0644]
AUTHORS [new file with mode: 0644]
COPYING [new file with mode: 0644]
builder/build.properties.clean [new file with mode: 0644]
org.tizen.nativecore.enventor.feature/.project [new file with mode: 0644]
org.tizen.nativecore.enventor.feature/build.properties [new file with mode: 0644]
org.tizen.nativecore.enventor.feature/feature.xml [new file with mode: 0644]
org.tizen.nativecore.enventor/.classpath [new file with mode: 0644]
org.tizen.nativecore.enventor/.project [new file with mode: 0644]
org.tizen.nativecore.enventor/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
org.tizen.nativecore.enventor/META-INF/MANIFEST.MF [new file with mode: 0644]
org.tizen.nativecore.enventor/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
org.tizen.nativecore.enventor/build.properties [new file with mode: 0644]
org.tizen.nativecore.enventor/icons/enventor.png [new file with mode: 0644]
org.tizen.nativecore.enventor/plugin.xml [new file with mode: 0644]
org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Activator.java [new file with mode: 0644]
org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Launcher.java [new file with mode: 0644]
org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Messages.java [new file with mode: 0644]
org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Messages.properties [new file with mode: 0644]
org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/executer/EDCEditorExecuter.java [new file with mode: 0644]
org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/wizard/EdcFileWizard.java [new file with mode: 0644]
org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/wizard/EdcFileWizardPage.java [new file with mode: 0644]
package/build.linux [new file with mode: 0644]
package/build.macos [new file with mode: 0644]
package/build.windows [new file with mode: 0644]
package/changelog [new file with mode: 0644]
package/pkginfo.manifest [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..21427e8
--- /dev/null
@@ -0,0 +1,3 @@
+#binary files
+bin
+*.class
diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..24e8ca2
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,4 @@
+Gun Kim <gune.kim@samsung.com>
+Jaehyun Cho <jae_hyun.cho@samsung.com>
+Hermet (Chuneon Park) <hermet@hermet.pe.kr>
+Mykyta Biliavskyi <m.biliavskyi@samsung.com>
diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..7ed4a80
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,203 @@
+Apache-2.0
+
+ Apache License 
+ Version 2.0, January 2004 
+ http://www.apache.org/licenses/ 
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 
+
+ 1. Definitions. 
+
+ "License" shall mean the terms and conditions for use, reproduction, 
+ and distribution as defined by Sections 1 through 9 of this document. 
+
+ "Licensor" shall mean the copyright owner or entity authorized by 
+ the copyright owner that is granting the License. 
+
+ "Legal Entity" shall mean the union of the acting entity and all 
+ other entities that control, are controlled by, or are under common 
+ control with that entity. For the purposes of this definition, 
+ "control" means (i) the power, direct or indirect, to cause the 
+ direction or management of such entity, whether by contract or 
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the 
+ outstanding shares, or (iii) beneficial ownership of such entity. 
+
+ "You" (or "Your") shall mean an individual or Legal Entity 
+ exercising permissions granted by this License. 
+
+ "Source" form shall mean the preferred form for making modifications, 
+ including but not limited to software source code, documentation 
+ source, and configuration files. 
+
+ "Object" form shall mean any form resulting from mechanical 
+ transformation or translation of a Source form, including but 
+ not limited to compiled object code, generated documentation, 
+ and conversions to other media types. 
+
+ "Work" shall mean the work of authorship, whether in Source or 
+ Object form, made available under the License, as indicated by a 
+ copyright notice that is included in or attached to the work 
+ (an example is provided in the Appendix below). 
+
+ "Derivative Works" shall mean any work, whether in Source or Object 
+ form, that is based on (or derived from) the Work and for which the 
+ editorial revisions, annotations, elaborations, or other modifications 
+ represent, as a whole, an original work of authorship. For the purposes 
+ of this License, Derivative Works shall not include works that remain 
+ separable from, or merely link (or bind by name) to the interfaces of, 
+ the Work and Derivative Works thereof. 
+
+ "Contribution" shall mean any work of authorship, including 
+ the original version of the Work and any modifications or additions 
+ to that Work or Derivative Works thereof, that is intentionally 
+ submitted to Licensor for inclusion in the Work by the copyright owner 
+ or by an individual or Legal Entity authorized to submit on behalf of 
+ the copyright owner. For the purposes of this definition, "submitted" 
+ means any form of electronic, verbal, or written communication sent 
+ to the Licensor or its representatives, including but not limited to 
+ communication on electronic mailing lists, source code control systems, 
+ and issue tracking systems that are managed by, or on behalf of, the 
+ Licensor for the purpose of discussing and improving the Work, but 
+ excluding communication that is conspicuously marked or otherwise 
+ designated in writing by the copyright owner as "Not a Contribution." 
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity 
+ on behalf of whom a Contribution has been received by Licensor and 
+ subsequently incorporated within the Work. 
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of 
+ this License, each Contributor hereby grants to You a perpetual, 
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable 
+ copyright license to reproduce, prepare Derivative Works of, 
+ publicly display, publicly perform, sublicense, and distribute the 
+ Work and such Derivative Works in Source or Object form. 
+
+ 3. Grant of Patent License. Subject to the terms and conditions of 
+ this License, each Contributor hereby grants to You a perpetual, 
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable 
+ (except as stated in this section) patent license to make, have made, 
+ use, offer to sell, sell, import, and otherwise transfer the Work, 
+ where such license applies only to those patent claims licensable 
+ by such Contributor that are necessarily infringed by their 
+ Contribution(s) alone or by combination of their Contribution(s) 
+ with the Work to which such Contribution(s) was submitted. If You 
+ institute patent litigation against any entity (including a 
+ cross-claim or counterclaim in a lawsuit) alleging that the Work 
+ or a Contribution incorporated within the Work constitutes direct 
+ or contributory patent infringement, then any patent licenses 
+ granted to You under this License for that Work shall terminate 
+ as of the date such litigation is filed. 
+
+ 4. Redistribution. You may reproduce and distribute copies of the 
+ Work or Derivative Works thereof in any medium, with or without 
+ modifications, and in Source or Object form, provided that You 
+ meet the following conditions: 
+
+ (a) You must give any other recipients of the Work or 
+ Derivative Works a copy of this License; and 
+
+ (b) You must cause any modified files to carry prominent notices 
+ stating that You changed the files; and 
+
+ (c) You must retain, in the Source form of any Derivative Works 
+ that You distribute, all copyright, patent, trademark, and 
+ attribution notices from the Source form of the Work, 
+ excluding those notices that do not pertain to any part of 
+ the Derivative Works; and 
+
+ (d) If the Work includes a "NOTICE" text file as part of its 
+ distribution, then any Derivative Works that You distribute must 
+ include a readable copy of the attribution notices contained 
+ within such NOTICE file, excluding those notices that do not 
+ pertain to any part of the Derivative Works, in at least one 
+ of the following places: within a NOTICE text file distributed 
+ as part of the Derivative Works; within the Source form or 
+ documentation, if provided along with the Derivative Works; or, 
+ within a display generated by the Derivative Works, if and 
+ wherever such third-party notices normally appear. The contents 
+ of the NOTICE file are for informational purposes only and 
+ do not modify the License. You may add Your own attribution 
+ notices within Derivative Works that You distribute, alongside 
+ or as an addendum to the NOTICE text from the Work, provided 
+ that such additional attribution notices cannot be construed 
+ as modifying the License. 
+
+ You may add Your own copyright statement to Your modifications and 
+ may provide additional or different license terms and conditions 
+ for use, reproduction, or distribution of Your modifications, or 
+ for any such Derivative Works as a whole, provided Your use, 
+ reproduction, and distribution of the Work otherwise complies with 
+ the conditions stated in this License. 
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise, 
+ any Contribution intentionally submitted for inclusion in the Work 
+ by You to the Licensor shall be under the terms and conditions of 
+ this License, without any additional terms or conditions. 
+ Notwithstanding the above, nothing herein shall supersede or modify 
+ the terms of any separate license agreement you may have executed 
+ with Licensor regarding such Contributions. 
+
+ 6. Trademarks. This License does not grant permission to use the trade 
+ names, trademarks, service marks, or product names of the Licensor, 
+ except as required for reasonable and customary use in describing the 
+ origin of the Work and reproducing the content of the NOTICE file. 
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or 
+ agreed to in writing, Licensor provides the Work (and each 
+ Contributor provides its Contributions) on an "AS IS" BASIS, 
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
+ implied, including, without limitation, any warranties or conditions 
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 
+ PARTICULAR PURPOSE. You are solely responsible for determining the 
+ appropriateness of using or redistributing the Work and assume any 
+ risks associated with Your exercise of permissions under this License. 
+
+ 8. Limitation of Liability. In no event and under no legal theory, 
+ whether in tort (including negligence), contract, or otherwise, 
+ unless required by applicable law (such as deliberate and grossly 
+ negligent acts) or agreed to in writing, shall any Contributor be 
+ liable to You for damages, including any direct, indirect, special, 
+ incidental, or consequential damages of any character arising as a 
+ result of this License or out of the use or inability to use the 
+ Work (including but not limited to damages for loss of goodwill, 
+ work stoppage, computer failure or malfunction, or any and all 
+ other commercial damages or losses), even if such Contributor 
+ has been advised of the possibility of such damages. 
+
+ 9. Accepting Warranty or Additional Liability. While redistributing 
+ the Work or Derivative Works thereof, You may choose to offer, 
+ and charge a fee for, acceptance of support, warranty, indemnity, 
+ or other liability obligations and/or rights consistent with this 
+ License. However, in accepting such obligations, You may act only 
+ on Your own behalf and on Your sole responsibility, not on behalf 
+ of any other Contributor, and only if You agree to indemnify, 
+ defend, and hold each Contributor harmless for any liability 
+ incurred by, or claims asserted against, such Contributor by reason 
+ of your accepting any such warranty or additional liability. 
+
+ END OF TERMS AND CONDITIONS 
+
+ APPENDIX: How to apply the Apache License to your work. 
+
+ To apply the Apache License to your work, attach the following 
+ boilerplate notice, with the fields enclosed by brackets "[]" 
+ replaced with your own identifying information. (Don't include 
+ the brackets!) The text should be enclosed in the appropriate 
+ comment syntax for the file format. We also recommend that a 
+ file or class name and description of purpose be included on the 
+ same "printed page" as the copyright notice for easier 
+ identification within third-party archives. 
+
+ Copyright [yyyy] [name of copyright owner] 
+
+ Licensed under the Apache License, Version 2.0 (the "License"); 
+ you may not use this file except in compliance with the License. 
+ You may obtain a copy of the License at 
+
+ http://www.apache.org/licenses/LICENSE-2.0 
+
+ Unless required by applicable law or agreed to in writing, software 
+ distributed under the License is distributed on an "AS IS" BASIS, 
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ See the License for the specific language governing permissions and 
+ limitations under the License.
diff --git a/builder/build.properties.clean b/builder/build.properties.clean
new file mode 100644 (file)
index 0000000..b7a30ac
--- /dev/null
@@ -0,0 +1,260 @@
+###############################################################################
+# Copyright (c) 2003, 2006 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# 
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+#####################
+# Parameters describing how and where to execute the build.
+# Typical users need only update the following properties:
+#    baseLocation - where things you are building against are installed
+#    bootclasspath - The base jars to compile against (typicaly rt.jar)
+#    configs - the list of {os, ws, arch} configurations to build.  
+#
+# Of course any of the settings here can be overridden by spec'ing 
+# them on the command line (e.g., -DbaseLocation=d:/eclipse
+
+#The type of the top level element we are building,  generally "feature"
+topLevelElementType=feature
+#The id of the top level element we are building
+topLevelElementId=org.tizen.nativecore.enventor.feature
+
+############# PRODUCT/PACKAGING CONTROL #############
+#product=/com.samsung.freshide/SLPSDK.product
+#runPackager=true
+
+#Set the name of the archive that will result from the product build.
+#archiveNamePrefix=
+
+# The prefix that will be used in the generated archive.
+archivePrefix="Do not touch here."
+
+# The location underwhich all of the build output will be collected.
+collectingFolder=${archivePrefix}
+
+# The list of {os, ws, arch} configurations to build.  This 
+# value is a '&' separated list of ',' separate triples.  For example, 
+#     configs=win32,win32,x86 & linux,motif,x86
+# By default the value is *,*,*
+configs="Do not touch here."
+#configs=win32, win32, x86 & \
+#      win32,win32,x86_64 & \
+#      win32,win32,wpf & \
+#      linux, gtk, ppc & \
+#      linux, gtk, x86 & \
+#      linux, gtk, x86_64 & \
+#      linux, motif, x86 & \
+#      solaris, motif, sparc & \
+#      solaris, gtk, sparc & \
+#      aix, motif, ppc & \
+#      hpux, motif, ia64_32 & \
+#      macosx, carbon, ppc & \
+#      macosx, carbon, x86 & \
+#      macosx, cocoa, ppc & \
+#      macosx, cocoa, x86 & \
+#      macosx, cocoa, x86_64
+
+# By default PDE creates one archive (result) per entry listed in the configs property.
+# Setting this value to true will cause PDE to only create one output containing all 
+# artifacts for all the platforms listed in the configs property.
+# To control the output format for the group, add a "group, group, group - <format>" entry to the
+# archivesFormat. 
+#groupConfigurations=true
+
+#The format of the archive. By default a zip is created using antZip.
+#The list can only contain the configuration for which the desired format is different than zip.
+#archivesFormat=win32, win32, x86 - antZip& \
+#      linux, gtk, ppc - antZip &\
+#    linux, gtk, x86 - antZip& \
+#      linux, gtk, x86_64 - antZip& \
+# linux, motif, x86 - antZip& \
+#      solaris, motif, sparc - antZip& \
+#      solaris, gtk, sparc - antZip& \
+#      aix, motif, ppc - antZip& \
+#      hpux, motif, PA_RISC - antZip& \
+#      macosx, carbon, ppc - antZip
+
+#Allow cycles involving at most one bundle that needs to be compiled with the rest being binary bundles.
+allowBinaryCycles=true
+
+#Sort bundles depenedencies across all features instead of just within a given feature.
+#flattenDependencies = true
+
+#Parallel compilation, requires flattenedDependencies=true
+#parallelCompilation=true
+#parallelThreadCount=
+#parallelThreadsPerProcessor=
+       
+#Set to true if you want the output to be ready for an update jar (no site.xml generated)
+#outputUpdateJars = false
+
+#Set to true for Jnlp generation
+#codebase should be a URL that will be used as the root of all relative URLs in the output.
+#generateJnlp=false
+#jnlp.codebase=<codebase url>
+#jnlp.j2se=<j2se version>
+#jnlp.locale=<a locale>
+#jnlp.generateOfflineAllowed=true or false generate <offlineAllowed/> attribute in the generated features
+#jnlp.configs=${configs}                       #uncomment to filter the content of the generated jnlp files based on the configuration being built
+
+#Set to true if you want to sign jars
+#signJars=false
+#sign.alias=<alias>
+#sign.keystore=<keystore location>
+#sign.storepass=<keystore password>
+#sign.keypass=<key password>
+
+#Arguments to send to the zip executable
+#zipargs=
+
+#Arguments to send to the tar executable
+#tarargs=
+
+#Control the creation of a file containing the version included in each configuration - on by default 
+#generateVersionsLists=false
+
+############## BUILD NAMING CONTROL ################
+# The directory into which the build elements are fetched and where
+# the build takes place.
+buildDirectory="Do not touch here"
+
+# Type of build.  Used in naming the build output.  Typically this value is
+# one of I, N, M, S, ...
+buildType="Do not touch here"
+
+# ID of the build.  Used in naming the build output.
+buildId="Do not touch here"
+
+# Label for the build.  Used in naming the build output
+buildLabel=${buildType}.${buildId}
+
+# Timestamp for the build.  Used in naming the build output
+timestamp=007
+
+#The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde.
+#The value will only be applied to plugin or features indicating build.properties, qualifier = context 
+#forceContextQualifier=<the value for the qualifier>
+
+#Enable / disable the generation of a suffix for the features that use .qualifier. 
+#The generated suffix is computed according to the content of the feature   
+#generateFeatureVersionSuffix=true
+
+############# BASE CONTROL #############
+# Settings for the base Eclipse components and Java class libraries 
+# against which you are building.
+# Base location for anything the build needs to compile against.  For example,
+# in most RCP app or a plug-in,  the baseLocation should be the location of a previously
+# installed Eclipse against which the application or plug-in code will be compiled and the RCP delta pack.
+
+base="Do not touch here"
+baseLocation="Do not touch here"
+
+
+#Folder containing repositories whose content is needed to compile against
+#repoBaseLocation=${base}/repos
+#Folder where the content of the repositories from ${repoBaseLocation} will be made available as a form suitable to be compiled against
+#transformedRepoLocation=${base}/transformedRepos
+
+#Os/Ws/Arch/nl of the eclipse specified by baseLocation
+baseos=linux
+basews=gtk
+basearch=x86
+
+#this property indicates whether you want the set of plug-ins and features to be considered during the build to be limited to the ones reachable from the features / plugins being built
+filteredDependencyCheck=false
+
+#this property indicates whether the resolution should be done in development mode (i.e. ignore multiple bundles with singletons)
+resolution.devMode=false
+
+#pluginPath is a list of locations in which to find plugins and features.  This list is separated by the platform file separator (; or :)
+#a location is one of:  
+#- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo
+#- a directory that contains a /plugins or /features subdirectory
+#- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml
+#pluginPath=
+
+skipBase=true
+eclipseURL=<url for eclipse download site>
+eclipseBuildId=<Id of Eclipse build to get>
+eclipseBaseURL=${eclipseURL}/eclipse-platform-${eclipseBuildId}-win32.zip
+
+
+############# MAP FILE CONTROL ################
+# This section defines CVS tags to use when fetching the map files from the repository.
+# If you want to fetch the map file from repository / location, change the getMapFiles target in the customTargets.xml
+
+skipMaps=true
+mapsRepo=:pserver:anonymous@example.com/path/to/repo
+mapsRoot=path/to/maps
+mapsCheckoutTag=HEAD
+
+#tagMaps=true
+mapsTagTag=v${buildId}
+
+
+############ REPOSITORY CONTROL ###############
+# This section defines properties parameterizing the repositories where plugins, fragments
+# bundles and features are being obtained from. 
+
+# The tags to use when fetching elements to build.
+# By default thebuilder will use whatever is in the maps.  
+# This value takes the form of a comma separated list of repository identifier (like used in the map files) and the 
+# overriding value
+# For example fetchTag=CVS=HEAD, SVN=v20050101
+# fetchTag=HEAD
+skipFetch=true
+
+
+############# P2 OPTIONS ##############
+#p2.gathering = true
+#p2.compress=true
+
+############# JAVA COMPILER OPTIONS ##############
+# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE
+#bootclasspath=${java.home}/lib/rt.jar
+
+# specific JRE locations to compile against. These values are used to compile bundles specifying a 
+# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
+#CDC-1.0/Foundation-1.0= /path/to/rt.jar
+#CDC-1.1/Foundation-1.1=
+#OSGi/Minimum-1.0=
+#OSGi/Minimum-1.1=
+#JRE-1.1=
+#J2SE-1.2=
+#J2SE-1.3=
+#J2SE-1.4=
+#J2SE-1.5=
+#JavaSE-1.6=
+#PersonalJava-1.1=
+#PersonalJava-1.2=
+#CDC-1.0/PersonalBasis-1.0=
+#CDC-1.0/PersonalJava-1.0=
+#CDC-1.1/PersonalBasis-1.1=
+#CDC-1.1/PersonalJava-1.1=
+
+# Specify the output format of the compiler log when eclipse jdt is used
+logExtension=.log
+
+# Whether or not to include debug info in the output jars
+javacDebugInfo=true
+
+# Whether or not to fail the build if there are compiler errors
+javacFailOnError=true
+
+# Enable or disable verbose mode of the compiler
+javacVerbose=false
+
+# Extra arguments for the compiler. These are specific to the java compiler being used.
+#compilerArg=
+
+# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
+javacSource=1.6
+
+# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
+javacTarget=1.6
+
+
diff --git a/org.tizen.nativecore.enventor.feature/.project b/org.tizen.nativecore.enventor.feature/.project
new file mode 100644 (file)
index 0000000..9d2a3e8
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>org.tizen.nativecore.enventor.feature</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.pde.FeatureBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.FeatureNature</nature>
+       </natures>
+</projectDescription>
diff --git a/org.tizen.nativecore.enventor.feature/build.properties b/org.tizen.nativecore.enventor.feature/build.properties
new file mode 100644 (file)
index 0000000..64f93a9
--- /dev/null
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/org.tizen.nativecore.enventor.feature/feature.xml b/org.tizen.nativecore.enventor.feature/feature.xml
new file mode 100644 (file)
index 0000000..4e12a71
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.tizen.nativecore.enventor.feature"
+      label="Tizen Native Enventor"
+      version="1.0.0.qualifier"
+      provider-name="The Linux Foundation">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <plugin
+         id="org.tizen.nativecore.enventor"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/org.tizen.nativecore.enventor/.classpath b/org.tizen.nativecore.enventor/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.tizen.nativecore.enventor/.project b/org.tizen.nativecore.enventor/.project
new file mode 100644 (file)
index 0000000..78f70d2
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>org.tizen.nativecore.enventor</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.PluginNature</nature>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+       </natures>
+</projectDescription>
diff --git a/org.tizen.nativecore.enventor/.settings/org.eclipse.jdt.core.prefs b/org.tizen.nativecore.enventor/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..c537b63
--- /dev/null
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.tizen.nativecore.enventor/META-INF/MANIFEST.MF b/org.tizen.nativecore.enventor/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..770c918
--- /dev/null
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.tizen.nativecore.enventor;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.tizen.nativecore.enventor.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.ui.editors,
+ org.eclipse.core.runtime,
+ org.tizen.common,
+ org.eclipse.cdt.managedbuilder.core,
+ org.eclipse.cdt.core;bundle-version="5.6.0",
+ org.tizen.nativecommon,
+ org.tizen.nativecore
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.core.resources,
+ org.eclipse.ui.dialogs,
+ org.eclipse.ui.part
+Export-Package: org.tizen.nativecore.enventor.executer
+Bundle-Vendor: %Bundle-Vendor
diff --git a/org.tizen.nativecore.enventor/OSGI-INF/l10n/bundle.properties b/org.tizen.nativecore.enventor/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..5b96ff0
--- /dev/null
@@ -0,0 +1,3 @@
+#Properties file for org.tizen.nativecore.enventor
+Bundle-Vendor = The Linux Foundation
+Bundle-Name = Tizen Native Enventor
\ No newline at end of file
diff --git a/org.tizen.nativecore.enventor/build.properties b/org.tizen.nativecore.enventor/build.properties
new file mode 100644 (file)
index 0000000..b6c183a
--- /dev/null
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               OSGI-INF/,\
+               icons/
+src.includes = icons/
diff --git a/org.tizen.nativecore.enventor/icons/enventor.png b/org.tizen.nativecore.enventor/icons/enventor.png
new file mode 100644 (file)
index 0000000..43e5827
Binary files /dev/null and b/org.tizen.nativecore.enventor/icons/enventor.png differ
diff --git a/org.tizen.nativecore.enventor/plugin.xml b/org.tizen.nativecore.enventor/plugin.xml
new file mode 100644 (file)
index 0000000..50a66d3
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.core.contenttype.contentTypes">
+      <content-type
+            base-type="org.eclipse.core.runtime.text"
+            file-extensions="edc"
+            id="org.tizen.nativecore.enventor.edcfile"
+            name="EDC File"
+            priority="high">
+      </content-type>
+      <file-association
+            content-type="org.tizen.nativecore.enventor.edcfile"
+            file-extensions="edc"/>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            default="true"
+            icon="icons/enventor.png"
+            id="org.tizen.nativecore.enventor.editor"
+            launcher="org.tizen.nativecore.enventor.Launcher"
+            filenames="*.edc"
+            name="EDC Editor">
+         <contentTypeBinding
+               contentTypeId="org.tizen.nativecore.enventor.edcfile">
+         </contentTypeBinding>
+      </editor>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            category="org.tizen.nativeapp.newCategory"
+            class="org.tizen.nativecore.enventor.wizard.EdcFileWizard"
+            hasPages="true"
+            icon="icons/enventor.png"
+            id="org.tizen.nativecore.enventor.wizard"
+            name="EDC File"
+            project="false">
+         <description>
+            EDC file
+         </description>
+      </wizard>
+   </extension>
+
+</plugin>
diff --git a/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Activator.java b/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Activator.java
new file mode 100644 (file)
index 0000000..6423c6a
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * Enventor
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Hyeongseok Heo <hyeongseok.heo@samsung.com>
+ * Gun Kim <gune.kim@samseung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
+package org.tizen.nativecore.enventor;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+       // The plug-in ID
+       public static final String PLUGIN_ID = "org.tizen.nativecore.enventor"; //$NON-NLS-1$
+
+       // The shared instance
+       private static Activator plugin;
+       
+       /**
+        * The constructor
+        */
+       public Activator() {
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+        */
+       public void start(BundleContext context) throws Exception {
+               super.start(context);
+               plugin = this;
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+        */
+       public void stop(BundleContext context) throws Exception {
+               plugin = null;
+               super.stop(context);
+       }
+
+       /**
+        * Returns the shared instance
+        *
+        * @return the shared instance
+        */
+       public static Activator getDefault() {
+               return plugin;
+       }
+
+}
diff --git a/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Launcher.java b/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Launcher.java
new file mode 100644 (file)
index 0000000..d331135
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * Enventor
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Hyeongseok Heo <hyeongseok.heo@samsung.com>
+ * Gun Kim <gune.kim@samseung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
+package org.tizen.nativecore.enventor;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.ui.IEditorLauncher;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.part.FileEditorInput;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.tizen.common.core.application.TizenProjectDescription;
+import org.tizen.common.util.DialogUtil;
+import org.tizen.common.util.SWTUtil;
+import org.tizen.common.util.StringUtil;
+import org.tizen.nativecore.enventor.executer.EDCEditorExecuter;
+
+public class Launcher implements IEditorLauncher {
+    protected static Logger logger = LoggerFactory.getLogger( Launcher.class );
+    private IProject tproject;
+
+    @Override
+    public void open(IPath path) {
+        open(path, false);
+    }
+
+    public void open(IPath path, boolean withTemplateWizard) {
+        IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
+        if (file == null) return;
+
+        tproject = file.getProject();
+        String msg = EDCEditorExecuter.checkTool();
+        if ( StringUtil.isEmpty(msg) ) {
+            EDCEditorExecuter.executeTool(path, withTemplateWizard);
+        }
+        else {
+            IWorkbenchPage activePage = SWTUtil.getActivePage();
+            if (activePage == null) return;
+
+            try {
+                IEditorPart editorPart = activePage.openEditor(new FileEditorInput(file), "org.eclipse.ui.DefaultTextEditor");
+            } catch (PartInitException e) {
+                logger.error("Failed to open file by using TextEditor: " + file);
+            }
+            //DialogUtil.openErrorDialog(msg);
+            TizenProjectDescription tizenDesc = org.tizen.common.util.ProjectUtil.getTizenProjectDescription(tproject);
+            if (tizenDesc == null) return;
+
+            if ( System.getProperty("os.name").startsWith("Windows") ) {
+                DialogUtil.openMessageDialog(String.format("In Tizen %s, Enventor is not supported in Windows.", tizenDesc.getVersion()));
+            }
+            else if ( System.getProperty("os.name").contains("OS X") ) {
+                DialogUtil.openMessageDialog(String.format("In Tizen %s, Enventor is not supported in Mac OS X.", tizenDesc.getVersion()));
+            }
+        }
+    }
+}
diff --git a/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Messages.java b/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Messages.java
new file mode 100644 (file)
index 0000000..c6e9791
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Enventor
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Hyeongseok Heo <hyeongseok.heo@samsung.com>
+ * Gun Kim <gune.kim@samseung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
+package org.tizen.nativecore.enventor;
+
+import org.eclipse.osgi.util.NLS;
+import org.tizen.common.launch.LaunchMessages;
+
+public class Messages extends LaunchMessages {
+    static {
+        NLS.initializeMessages(Messages.class.getName(), Messages.class);
+    }
+    
+    public static String CANNOT_FIND_TOOL;
+    public static String CANNOT_EXECUTE_TOOL;
+    public static String LAUNCH_TEMPLATE_WIZARD;
+    public static String TITLE_WIZARD;
+}
diff --git a/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Messages.properties b/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/Messages.properties
new file mode 100644 (file)
index 0000000..563867f
--- /dev/null
@@ -0,0 +1,5 @@
+CANNOT_FIND_TOOL=Cannot find a ''{0}''
+CANNOT_EXECUTE_TOOL='Launching a enventor" has encountered a problem.\nPlease check an Error Log view.
+
+LAUNCH_TEMPLATE_WIZARD=Launch template wizard of EDC Editor
+TITLE_WIZARD = EDC File
diff --git a/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/executer/EDCEditorExecuter.java b/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/executer/EDCEditorExecuter.java
new file mode 100644 (file)
index 0000000..5cb99f1
--- /dev/null
@@ -0,0 +1,294 @@
+/*
+ * Enventor
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Hyeongseok Heo <hyeongseok.heo@samsung.com>
+ * Gun Kim <gune.kim@samseung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+package org.tizen.nativecore.enventor.executer;
+
+import java.io.File;
+
+import org.eclipse.cdt.managedbuilder.core.IConfiguration;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.osgi.util.NLS;
+import org.tizen.common.core.application.InstallPathConfig;
+import org.tizen.common.core.application.TizenProjectDescription;
+import org.tizen.common.util.FileUtil;
+import org.tizen.common.util.HostUtil;
+import org.tizen.nativecommon.ProjectUtil;
+import org.tizen.nativecore.build.NativeCoreConfigurationManager;
+import org.tizen.nativecore.enventor.Messages;
+
+public class EDCEditorExecuter {
+    // The format is "environment executable <edc file>".
+    private static final String cmdFormat = "%s %s %s %s";
+    private static final String templateWizardArg = "--to";
+
+    public static void executeTool(final IPath path, final boolean withTemplateWizard) {
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                HostUtil.returnExecute(getCommand(path, withTemplateWizard), null, false);
+                /*
+                 * String result = HostUtil.returnExecute(getCommand(path) +
+                 * TizenPlatformConstants.CMD_SUFFIX, null, true);
+                 * 
+                 * if ( !result.endsWith(TizenPlatformConstants.CMD_SUCCESS) ) {
+                 * SWTUtil.asyncExec(new Runnable() {
+                 * 
+                 * @Override public void run() {
+                 * DialogUtil.openErrorDialog(Messages.CANNOT_EXECUTE_TOOL); } }); logger.error(
+                 * "Enventor's result: " + result); }
+                 */
+            }
+        }).start();
+
+    }
+
+    public static String checkTool() {
+        String msg = "";
+
+        String tool = getFullpathOfTool();
+        if (!isInstallation(tool)) {
+            return NLS.bind(Messages.CANNOT_FIND_TOOL, tool);
+        }
+
+        tool = getFullpathOfEflTool();
+        if (!isInstallation(tool)) {
+            return NLS.bind(Messages.CANNOT_FIND_TOOL, tool);
+        }
+
+        return msg;
+    }
+
+    private static boolean isInstallation(String tool) {
+        if (new File(tool).exists()) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    private static String getCommand(IPath path, boolean withTemplateWizard) {
+        final String fullpathOfTool = getFullpathOfTool();
+        final String env = getEnv();
+        final IPath edj_path = path.removeFileExtension().addFileExtension("edj");
+        String redirectStream = null;
+
+        if (System.getProperty("os.name").startsWith("Windows")) {
+            redirectStream = " 1> NUL 2> NUL";
+        } else {
+            redirectStream = " 1> /dev/null 2> /dev/null";
+        }
+
+        if (withTemplateWizard) {
+            return String.format(cmdFormat, env, fullpathOfTool, path.toOSString(), edj_path.toOSString()) + " " + getOptions(path) + " " + templateWizardArg
+                    + redirectStream;
+        } else {
+            return String.format(cmdFormat, env, fullpathOfTool, path.toOSString(), edj_path.toOSString()) + " " + getOptions(path) + redirectStream;
+        }
+    }
+
+    private static String[] trimOption(String[] option) {
+        String[] trimOptions = new String[option.length];
+
+        for (int i = 0; i < option.length; i++) {
+            trimOptions[i] = option[i].trim();
+        }
+
+        return trimOptions;
+    }
+
+    private static String getOptions(IPath path) {
+        String option = "";
+        IFile projectFile = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
+        if (projectFile == null) return null;
+
+        IProject project = projectFile.getProject();
+
+        // Set workspace path option with "-w <workspace path>".
+        String workspaceDir = project.getLocation().toOSString();
+        if (!workspaceDir.isEmpty())
+            option += "-w " + workspaceDir + " ";
+
+        IConfiguration config = ProjectUtil.getDefaultConfiguration(project);
+
+        IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
+        IPath projectRelativePath = null;
+        if (file != null) projectRelativePath = file.getProjectRelativePath();
+
+        if ((config != null) && (projectRelativePath != null)) {
+            String[] fontDirs = trimOption(NativeCoreConfigurationManager.getEdcFontDirs(config, projectRelativePath));
+            String[] imageDirs = trimOption(NativeCoreConfigurationManager.getEdcImageDirs(config, projectRelativePath));
+            String[] soundDirs = trimOption(NativeCoreConfigurationManager.getEdcSoundDirs(config, projectRelativePath));
+
+            for (int i = 0; i < fontDirs.length; i++) {
+                if (!fontDirs[i].isEmpty()) {
+                    if (System.getProperty("os.name").startsWith("Windows")) {
+                        if ((fontDirs[i].charAt(0) == '\\') ||
+                                ((fontDirs[i].charAt(0) == '"') && (fontDirs[i].charAt(1) == '\\')) ||
+                                ((fontDirs[i].length() >= 3) && (fontDirs[i].charAt(1) == ':') && (fontDirs[i].charAt(2) == '\\')) ||
+                                ((fontDirs[i].length() >= 4) && (fontDirs[i].charAt(0) == '"') && (fontDirs[i].charAt(2) == ':')
+                                        && (fontDirs[i].charAt(3) == '\\')))
+                            option += "--fd " + fontDirs[i] + " ";
+                        else
+                            option += "--fd " + path.removeLastSegments(1) + "\\" + fontDirs[i] + " ";
+                    } else {
+                        if ((fontDirs[i].charAt(0) == '/') ||
+                                ((fontDirs[i].charAt(0) == '"') && (fontDirs[i].charAt(1) == '/')))
+                            option += "--fd " + fontDirs[i] + " ";
+                        else
+                            option += "--fd " + path.removeLastSegments(1) + "/" + fontDirs[i] + " ";
+                    }
+                }
+            }
+            for (int i = 0; i < imageDirs.length; i++) {
+                if (!imageDirs[i].isEmpty()) {
+                    if (System.getProperty("os.name").startsWith("Windows")) {
+                        if ((imageDirs[i].charAt(0) == '\\') ||
+                                ((imageDirs[i].charAt(0) == '"') && (imageDirs[i].charAt(1) == '\\')) ||
+                                ((imageDirs[i].length() >= 3) && (imageDirs[i].charAt(1) == ':') && (imageDirs[i].charAt(2) == '\\')) ||
+                                ((imageDirs[i].length() >= 4) && (imageDirs[i].charAt(0) == '"') && (imageDirs[i].charAt(2) == ':')
+                                        && (imageDirs[i].charAt(3) == '\\')))
+                            option += "--id " + imageDirs[i] + " ";
+                        else
+                            option += "--id " + path.removeLastSegments(1) + "\\" + imageDirs[i] + " ";
+                    } else {
+                        if ((imageDirs[i].charAt(0) == '/') ||
+                                ((imageDirs[i].charAt(0) == '"') && (imageDirs[i].charAt(1) == '/')))
+                            option += "--id " + imageDirs[i] + " ";
+                        else
+                            option += "--id " + path.removeLastSegments(1) + "/" + imageDirs[i] + " ";
+                    }
+                }
+            }
+            for (int i = 0; i < soundDirs.length; i++) {
+                if (!soundDirs[i].isEmpty()) {
+                    if (System.getProperty("os.name").startsWith("Windows")) {
+                        if ((soundDirs[i].charAt(0) == '\\') ||
+                                ((soundDirs[i].charAt(0) == '"') && (soundDirs[i].charAt(1) == '\\')) ||
+                                ((soundDirs[i].length() >= 3) && (soundDirs[i].charAt(1) == ':') && (soundDirs[i].charAt(2) == '\\')) ||
+                                ((soundDirs[i].length() >= 4) && (soundDirs[i].charAt(0) == '"') && (soundDirs[i].charAt(2) == ':')
+                                        && (soundDirs[i].charAt(3) == '\\')))
+                            option += "--sd " + soundDirs[i] + " ";
+                        else
+                            option += "--sd " + path.removeLastSegments(1) + "\\" + soundDirs[i] + " ";
+                    } else {
+                        if ((soundDirs[i].charAt(0) == '/') ||
+                                ((soundDirs[i].charAt(0) == '"') && (soundDirs[i].charAt(1) == '/')))
+                            option += "--sd " + soundDirs[i] + " ";
+                        else
+                            option += "--sd " + path.removeLastSegments(1) + "/" + soundDirs[i] + " ";
+                    }
+                }
+            }
+        }
+
+        // Get edje_cc path of platform efl-tools
+        TizenProjectDescription tizenDesc = org.tizen.common.util.ProjectUtil.getTizenProjectDescription(project);
+        if (tizenDesc == null) return null;
+
+        String platformToolsPath = InstallPathConfig.getPlatformToolsPath(tizenDesc.getProfileName(), tizenDesc.getVersion());
+        if (platformToolsPath == null) return null;
+
+        String edje_ccDirPath = FileUtil.appendPath(platformToolsPath, "efl-tool/efl-tools/bin");
+        String edje_ccPath = "";
+        if (System.getProperty("os.name").startsWith("Windows"))
+            edje_ccPath = FileUtil.appendPath(edje_ccDirPath, "edje_cc.exe");
+        else
+            edje_ccPath = FileUtil.appendPath(edje_ccDirPath, "edje_cc");
+
+        // Set edje_cc path option
+        if (!edje_ccPath.isEmpty())
+            option += "-e" + new Path(edje_ccPath).toOSString() + " ";
+
+        // Get autocomp eet path of platform version
+        String autocompDirPath = FileUtil.appendPath(getFullpathOfEnventor(), "share/enventor/autocomp");
+        String autocompEet = tizenDesc.getVersion() + "-autocomp.eet";
+        String autocompEetPath = FileUtil.appendPath(autocompDirPath, autocompEet);
+
+        // Set autocomp eet path option
+        if (!autocompEetPath.isEmpty())
+            option += "-a" + new Path(autocompEetPath).toOSString() + " ";
+
+        // Set Tizen version
+        if ((tizenDesc.getVersion() != null) && (!tizenDesc.getVersion().isEmpty()))
+            option += "-z" + tizenDesc.getVersion() + " ";
+
+        return option;
+    }
+
+    private static String getDirectoryOfTool() {
+        String dir = FileUtil.appendPath(InstallPathConfig.getToolsPath(), "edc-editor/bin");
+        IPath path = new Path(dir);
+        return path.toOSString();
+    }
+
+    private static String getFullpathOfTool() {
+        if (System.getProperty("os.name").startsWith("Windows"))
+            return FileUtil.appendPath(getDirectoryOfTool(), "enventor.exe");
+        else
+            return FileUtil.appendPath(getDirectoryOfTool(), "enventor");
+    }
+
+    private static String getFullpathOfEflTool() {
+        String dir = FileUtil.appendPath(InstallPathConfig.getToolsPath(), "efl-tools");
+        IPath path = new Path(dir);
+        return path.toOSString();
+    }
+
+    private static String getFullpathOfEnventor() {
+        String dir = FileUtil.appendPath(InstallPathConfig.getToolsPath(), "edc-editor");
+        IPath path = new Path(dir);
+        return path.toOSString();
+    }
+
+    private static String getEnv() {
+        String fullpathOfEflTool = getFullpathOfEflTool();
+        String fullpathOfEnventor = getFullpathOfEnventor();
+
+        if (System.getProperty("os.name").startsWith("Windows")) {
+            String envFormat = "set path=%s;%s;%s && set FONTCONFIG_PATH=%s &&";
+            String eflToolBin = FileUtil.appendPath(fullpathOfEflTool, "bin");
+            String enventorBin = FileUtil.appendPath(fullpathOfEnventor, "bin");
+            String fontconfigDir = FileUtil.appendPath(fullpathOfEflTool, "etc/fonts");
+            return String.format(envFormat, eflToolBin, enventorBin, "%path%", fontconfigDir);
+        } else if (System.getProperty("os.name").contains("OS X")) {
+            String envFormat = "PATH=%s:$PATH DYLD_LIBRARY_PATH=%s:%s:$DYLD_LIBRARY_PATH FONTCONFIG_PATH=%s";
+            String eflToolBin = FileUtil.appendPath(fullpathOfEflTool, "bin");
+            String eflToolLib = FileUtil.appendPath(fullpathOfEflTool, "lib");
+            String enventorLib = FileUtil.appendPath(fullpathOfEnventor, "lib");
+            String fontconfigDir = FileUtil.appendPath(fullpathOfEflTool, "etc/fonts");
+            return String.format(envFormat, eflToolBin, eflToolLib, enventorLib, fontconfigDir);
+        } else {
+            String envFormat = "PATH=%s:$PATH LD_LIBRARY_PATH=%s:%s:$LD_LIBRARY_PATH";
+            String eflToolBin = FileUtil.appendPath(fullpathOfEflTool, "bin");
+            String eflToolLib = FileUtil.appendPath(fullpathOfEflTool, "lib");
+            String enventorLib = FileUtil.appendPath(fullpathOfEnventor, "lib");
+            return String.format(envFormat, eflToolBin, eflToolLib, enventorLib);
+        }
+    }
+}
diff --git a/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/wizard/EdcFileWizard.java b/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/wizard/EdcFileWizard.java
new file mode 100644 (file)
index 0000000..4c5848c
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Enventor
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Hyeongseok Heo <hyeongseok.heo@samsung.com>
+ * Gun Kim <gune.kim@samseung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
+package org.tizen.nativecore.enventor.wizard;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.tizen.nativecore.enventor.Launcher;
+import org.tizen.nativecore.enventor.Messages;
+
+public class EdcFileWizard extends Wizard implements INewWizard {
+    private final String WIZARD_TITLE = Messages.TITLE_WIZARD;
+    protected IStructuredSelection selection;
+    private EdcFileWizardPage newXMLFilePage;
+
+    @Override
+    public void init(IWorkbench arg0, IStructuredSelection arg1) {
+        this.selection = arg1;
+    }
+
+    @Override
+    public boolean performFinish() {
+        IFile file = newXMLFilePage.createNewFile();
+        Launcher enventorLauncher = new Launcher();
+        enventorLauncher.open(file.getLocation(), newXMLFilePage.getTemplateCheckSelection());
+        
+        return true;
+    }
+    
+    @Override
+    public void addPages() {
+        newXMLFilePage = new EdcFileWizardPage(WIZARD_TITLE, selection);
+        newXMLFilePage.setTitle(WIZARD_TITLE);
+        newXMLFilePage.setDescription(WIZARD_TITLE);
+        newXMLFilePage.setFileExtension("edc");
+        super.addPage(newXMLFilePage);
+    }
+
+}
diff --git a/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/wizard/EdcFileWizardPage.java b/org.tizen.nativecore.enventor/src/org/tizen/nativecore/enventor/wizard/EdcFileWizardPage.java
new file mode 100644 (file)
index 0000000..c938658
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Enventor
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Hyeongseok Heo <hyeongseok.heo@samsung.com>
+ * Gun Kim <gune.kim@samseung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
+package org.tizen.nativecore.enventor.wizard;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+import org.tizen.nativecore.enventor.Messages;
+
+public class EdcFileWizardPage extends WizardNewFileCreationPage {
+    private Button btnTemplateCheck;
+
+    public EdcFileWizardPage(String pageName, IStructuredSelection selection) {
+        super(pageName, selection);
+    }
+    
+    @Override
+    protected void createAdvancedControls(Composite parent) {
+        super.createAdvancedControls(parent);
+        btnTemplateCheck = new Button(parent, SWT.CHECK);
+        btnTemplateCheck.setText(Messages.LAUNCH_TEMPLATE_WIZARD);
+        btnTemplateCheck.setSelection(true);
+    }
+    
+    @Override
+    protected boolean validatePage() {
+        return super.validatePage();
+    }
+    
+    public boolean getTemplateCheckSelection() {
+        if ( btnTemplateCheck == null ) {
+            return false;
+        }
+        else {
+            return btnTemplateCheck.getSelection();
+        }
+    }
+
+}
diff --git a/package/build.linux b/package/build.linux
new file mode 100644 (file)
index 0000000..7e08c54
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash -x
+
+PACKAGE_NAME="enventor-eplugin"
+INSTALL_DIR=${SRCDIR}/package/${PACKAGE_NAME}.package.${TARGET_OS}/data
+
+# clean
+clean()
+{
+       echo "=========================================CLEAN============================================"
+
+       rm -rf ${SRCDIR}/*.zip
+
+       if [ -d ${INSTALL_DIR} ]
+       then
+               rm -rf ${INSTALL_DIR}/*
+       fi
+}
+
+# build
+build() 
+{
+       echo "=========================================BUILD============================================"
+
+       plugin_build
+}
+
+# plugin_build
+plugin_build()
+{
+       build_script_path=${ROOTDIR}/pde-build
+       ${build_script_path}/build.sh ${PACKAGE_NAME}
+}
+
+# install
+install()
+{
+       echo "=========================================INSTALL============================================"
+
+       # create install dir
+       if ! [ -d ${INSTALL_DIR} ]
+       then
+               mkdir -p ${INSTALL_DIR}
+       fi
+
+       plugin_install
+}
+
+# plugin_install
+plugin_install()
+{
+       build_script_path=${ROOTDIR}/pde-build
+       ${build_script_path}/install.sh ${PACKAGE_NAME}
+}
diff --git a/package/build.macos b/package/build.macos
new file mode 100644 (file)
index 0000000..7e08c54
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash -x
+
+PACKAGE_NAME="enventor-eplugin"
+INSTALL_DIR=${SRCDIR}/package/${PACKAGE_NAME}.package.${TARGET_OS}/data
+
+# clean
+clean()
+{
+       echo "=========================================CLEAN============================================"
+
+       rm -rf ${SRCDIR}/*.zip
+
+       if [ -d ${INSTALL_DIR} ]
+       then
+               rm -rf ${INSTALL_DIR}/*
+       fi
+}
+
+# build
+build() 
+{
+       echo "=========================================BUILD============================================"
+
+       plugin_build
+}
+
+# plugin_build
+plugin_build()
+{
+       build_script_path=${ROOTDIR}/pde-build
+       ${build_script_path}/build.sh ${PACKAGE_NAME}
+}
+
+# install
+install()
+{
+       echo "=========================================INSTALL============================================"
+
+       # create install dir
+       if ! [ -d ${INSTALL_DIR} ]
+       then
+               mkdir -p ${INSTALL_DIR}
+       fi
+
+       plugin_install
+}
+
+# plugin_install
+plugin_install()
+{
+       build_script_path=${ROOTDIR}/pde-build
+       ${build_script_path}/install.sh ${PACKAGE_NAME}
+}
diff --git a/package/build.windows b/package/build.windows
new file mode 100644 (file)
index 0000000..7e08c54
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash -x
+
+PACKAGE_NAME="enventor-eplugin"
+INSTALL_DIR=${SRCDIR}/package/${PACKAGE_NAME}.package.${TARGET_OS}/data
+
+# clean
+clean()
+{
+       echo "=========================================CLEAN============================================"
+
+       rm -rf ${SRCDIR}/*.zip
+
+       if [ -d ${INSTALL_DIR} ]
+       then
+               rm -rf ${INSTALL_DIR}/*
+       fi
+}
+
+# build
+build() 
+{
+       echo "=========================================BUILD============================================"
+
+       plugin_build
+}
+
+# plugin_build
+plugin_build()
+{
+       build_script_path=${ROOTDIR}/pde-build
+       ${build_script_path}/build.sh ${PACKAGE_NAME}
+}
+
+# install
+install()
+{
+       echo "=========================================INSTALL============================================"
+
+       # create install dir
+       if ! [ -d ${INSTALL_DIR} ]
+       then
+               mkdir -p ${INSTALL_DIR}
+       fi
+
+       plugin_install
+}
+
+# plugin_install
+plugin_install()
+{
+       build_script_path=${ROOTDIR}/pde-build
+       ${build_script_path}/install.sh ${PACKAGE_NAME}
+}
diff --git a/package/changelog b/package/changelog
new file mode 100644 (file)
index 0000000..8189802
--- /dev/null
@@ -0,0 +1,75 @@
+* 1.0.23
+- Code Open 
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2017-12-19
+* 1.0.22
+- Fix typo in COPYING
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2017-08-23
+* 1.0.21
+- Add COPYING for Apache-2.0 license
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2017-08-22
+* 1.0.20
+- Fix warnings
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2017-08-17
+* 1.0.19
+- Fix warnings
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2017-08-17
+* 1.0.18
+- Fix warnings
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2017-07-24
+* 1.0.17
+- Version up
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2017-05-12
+* 1.0.16
+- Replace name Enventor with EDC Editor.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-11-17
+* 1.0.15
+- Change install dependency.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-09-26
+* 1.0.14
+- Add the export Logic of execution for EDC editor.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-08-22
+* 1.0.13
+- Rebuild for package sync
+== Yoonki Park <yoonki.park@samsung.com> 2016-08-17
+* 1.0.12
+- Set FONTCONFIG_PATH on Windows.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-08-10
+* 1.0.11
+- Support Tizen version option with "-z <tizen version>".
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-07-28
+* 1.0.10
+- Set workspace path option with "-w <workspace path>".
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-07-28
+* 1.0.9
+- Installation rerouting.
+- enventor -> edc-editor.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-07-18
+* 1.0.8
+- Change the enventor icon.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-07-05
+* 1.0.7
+- Generate edj file in the same directory with edc file.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-06-23
+* 1.0.6
+- Fix library path set for MacOS.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-03-21
+* 1.0.5
+- Support enventor eplugin on MacOS.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-03-18
+* 1.0.4
+- Set auto complete eet path option.
+- Set edje_cc path option.
+- Support SDK tool type Enventor.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-01-21
+* 1.0.3
+- Show info popup if Enventor is not supported.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2016-01-12
+* 1.0.2
+- Add project files.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2015-12-01
+* 1.0.1
+- Add source files.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2015-11-26
+* 1.0.0
+- Separate enventor-eplugin from enventor package.
+== Jaehyun Cho <jae_hyun.cho@samsung.com> 2015-11-26
diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest
new file mode 100644 (file)
index 0000000..dfc8c6a
--- /dev/null
@@ -0,0 +1,38 @@
+Source : enventor-eplugin
+Version : 1.0.23
+Maintainer : Jaehyun Cho <jae_hyun.cho@samsung.com>
+
+Package : enventor-eplugin
+OS : ubuntu-32
+Build-host-os : ubuntu-32
+Build-dependency : pde-build [ubuntu-32], common-eplugin [ubuntu-32], nativecommon-eplugin [ubuntu-32], nativecore-eplugin [ubuntu-32]
+Install-dependency : nativecore-eplugin [ubuntu-32]
+Description : Plugin to edit EDC with Enventor
+
+Package : enventor-eplugin
+OS : ubuntu-64
+Build-host-os : ubuntu-64
+Build-dependency : pde-build [ubuntu-64], common-eplugin [ubuntu-64], nativecommon-eplugin [ubuntu-64], nativecore-eplugin [ubuntu-64]
+Install-dependency : nativecore-eplugin [ubuntu-64]
+Description : Plugin to edit EDC with Enventor
+
+Package : enventor-eplugin
+OS : windows-32
+Build-host-os : windows-32
+Build-dependency : pde-build [windows-32], common-eplugin [windows-32], nativecommon-eplugin [windows-32], nativecore-eplugin [windows-32]
+Install-dependency : nativecore-eplugin [windows-32]
+Description : Plugin to edit EDC with Enventor
+
+Package : enventor-eplugin
+OS : windows-64
+Build-host-os : windows-64
+Build-dependency : pde-build [windows-64], common-eplugin [windows-64], nativecommon-eplugin [windows-64], nativecore-eplugin [windows-64]
+Install-dependency : nativecore-eplugin [windows-64]
+Description : Plugin to edit EDC with Enventor
+
+Package : enventor-eplugin
+OS : macos-64
+Build-host-os : macos-64
+Build-dependency : pde-build [macos-64], common-eplugin [macos-64], nativecommon-eplugin [macos-64], nativecore-eplugin [macos-64]
+Install-dependency : nativecore-eplugin [macos-64]
+Description : Plugin to edit EDC with Enventor