[Title] Make darwin build configuration
authorTaeyoung Son <taeyoung2.son@samsung.com>
Mon, 18 Jun 2012 11:21:38 +0000 (20:21 +0900)
committerTaeyoung Son <taeyoung2.son@samsung.com>
Mon, 18 Jun 2012 11:29:35 +0000 (20:29 +0900)
[Type]
[Module]
[Priority]
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: I0e0b6ebad8721f55c84a1e19e8801cefa1f73b47

package/build.linux
package/pkginfo.manifest

index faf97ce..07f5fb4 100755 (executable)
-#!/bin/bash -x
+#!/bin/bash -xe
 
 build_path=${SRCDIR}/build_result
 
 __set_parameter()
 {
-       build_id=${package_name}
-       build_type=N
-       build_result_directory=${build_type}.${build_id}
-       build_result_path="$build_path/$build_result_directory"
-       architecture=x86
-       ide_root_path_name=IDE
-
-       case ${platform} in
-               linux)
-                       archive_platform_name=linux
-                       windowing=gtk
-                       ;;
-               windows)
-                       archive_platform_name=win32
-                       windowing=win32
-                       ;;
-               *)
-                       echo "${platform} is not support yet."
-                       ;;
-       esac
-
-       result_archive_file=${build_id}-${archive_platform_name}.${windowing}.${architecture}.zip
+    build_id=${package_name}
+    build_type=N
+    build_result_directory=${build_type}.${build_id}
+    build_result_path="$build_path/$build_result_directory"
+    architecture=x86
+    ide_root_path_name=IDE
+
+    case ${platform} in
+        linux)
+            archive_platform_name=linux
+            windowing=gtk
+            ;;
+        windows)
+            archive_platform_name=win32
+            windowing=win32
+            ;;
+       darwin)
+            archive_platform_name=macosx
+            windowing=cocoa
+            architecture=x86_64
+            ;;
+        *)
+            echo "${platform} is not support yet."
+            ;;
+    esac
+
+    result_archive_file=${build_id}-${archive_platform_name}.${windowing}.${architecture}.zip
 }
 
 __set_build_parameter()
 {
-       case ${platform} in
-               linux)
-                       reference_ide_path=${ROOTDIR}/indigo-pde/eclipse
-                       ;;
-               windows)
-                       reference_ide_path=${ROOTDIR}/indigo-winpde/eclipse
-                       ;;
-               *)
-                       echo "${platform} is not support yet."
-                       ;;
-       esac
+    case ${platform} in
+        linux)
+            reference_ide_path=${ROOTDIR}/indigo-pde/eclipse
+            ;;
+        windows)
+            reference_ide_path=${ROOTDIR}/indigo-winpde/eclipse
+            ;;
+        darwin)
+            reference_ide_path=${ROOTDIR}/indigo-macpde/eclipse
+            ;;
+        *)
+            echo "${platform} is not support yet."
+            ;;
+    esac
 }
 
 __set_install_parameter()
 {
-       INSTALL_DIR=${SRCDIR}/package/${package_name}.package.${platform}/data
+    INSTALL_DIR=${SRCDIR}/package/${package_name}.package.${platform}/data
 }
 
 __clean_build_environment()
 {
-       if [ -d $build_path ]
-       then
-               echo "Build result directory : [$build_path]"
-       else
-               echo "Make build result directory [$build_path]"
-               mkdir -p $build_path
-       fi
-
-       echo "Remove legacy build files..."
-       if [ -d ${build_result_path}/${archive_platform_name}.${windowing}.${architecture} ]
-       then
-               rm -rf ${build_result_path}/${archive_platform_name}.${windowing}.${architecture}
-       fi
-       if [ -e ${build_result_path}/${result_archive_file} ]
-       then
-               rm -rf ${build_result_path}/${result_archive_file}
-       fi
-       if [ -d ${build_path}/tmp ]
-       then
-               rm -rf ${build_path}/tmp
-       fi
-
-       if [ -d ${build_path}/buildRepo ]
-       then
-               rm -rf ${build_path}/buildRepo
-       fi
-
-       rm -rf ${build_path}/*.xml
-       rm -rf ${build_path}/*.properties
-       rm -rf ${build_path}/*.clean
-
-
-       if [ -d $build_path/plugins ]
-       then
-               echo "plugins directory recreate..."
-               rm -rf $build_path/plugins
-               mkdir $build_path/plugins
-       else
-               echo "Make plugins directory..."
-               mkdir $build_path/plugins
-       fi
-       if [ -d $build_path/features/ ]
-       then
-               echo "features directory recreate..."
-               rm -rf $build_path/features
-               mkdir $build_path/features
-       else
-               echo "Make features directory..."
-               mkdir $build_path/features
-       fi
+    if [ -d $build_path ]
+    then
+        echo "Build result directory : [$build_path]"
+    else
+        echo "Make build result directory [$build_path]"
+        mkdir -p $build_path
+    fi
+
+    echo "Remove legacy build files..."
+    if [ -d ${build_result_path}/${archive_platform_name}.${windowing}.${architecture} ]
+    then
+        rm -rf ${build_result_path}/${archive_platform_name}.${windowing}.${architecture}
+    fi
+    if [ -e ${build_result_path}/${result_archive_file} ]
+    then
+        rm -rf ${build_result_path}/${result_archive_file}
+    fi
+    if [ -d ${build_path}/tmp ]
+    then
+        rm -rf ${build_path}/tmp
+    fi
+
+    if [ -d ${build_path}/buildRepo ]
+    then
+        rm -rf ${build_path}/buildRepo
+    fi
+
+    rm -rf ${build_path}/*.xml
+    rm -rf ${build_path}/*.properties
+    rm -rf ${build_path}/*.clean
+
+
+    if [ -d $build_path/plugins ]
+    then
+        echo "plugins directory recreate..."
+        rm -rf $build_path/plugins
+        mkdir $build_path/plugins
+    else
+        echo "Make plugins directory..."
+        mkdir $build_path/plugins
+    fi
+    if [ -d $build_path/features/ ]
+    then
+        echo "features directory recreate..."
+        rm -rf $build_path/features
+        mkdir $build_path/features
+    else
+        echo "Make features directory..."
+        mkdir $build_path/features
+    fi
 
 }
 
 __copy_build_sources()
 {
-       echo "Copy features from $SRCDIR to $build_path/features"
-       temp_dir="`mktemp -d /tmp/ide.XXXXX`"
-       cp -r $SRCDIR/* $temp_dir
-       cp -r $temp_dir/* $build_path/features
-       rm -rf $temp_dir
-
-       echo "Copy plugins from $SRCDIR to $build_path/plugins"
-       temp_dir="`mktemp -d /tmp/ide.XXXXX`"
-       cp -r $SRCDIR/* $temp_dir
-       cp -r $temp_dir/* $build_path/plugins
-       rm -rf $temp_dir
+    echo "Copy features from $SRCDIR to $build_path/features"
+    temp_dir="`mktemp -d /tmp/ide.XXXXX`"
+    cp -r $SRCDIR/* $temp_dir
+    cp -r $temp_dir/* $build_path/features
+    rm -rf $temp_dir
+
+    echo "Copy plugins from $SRCDIR to $build_path/plugins"
+    temp_dir="`mktemp -d /tmp/ide.XXXXX`"
+    cp -r $SRCDIR/* $temp_dir
+    cp -r $temp_dir/* $build_path/plugins
+    rm -rf $temp_dir
 }
 
 __copy_dependency_plugins()
 {
-       dependency_plugin_path=${ROOTDIR}/${ide_root_path_name}
-       if [ -d ${dependency_plugin_path} ]
-       then
-               cp -rf ${dependency_plugin_path}/features/* ${build_path}/features/
-               cp -rf ${dependency_plugin_path}/plugins/* ${build_path}/plugins/
-       fi
+    dependency_plugin_path=${ROOTDIR}/${ide_root_path_name}
+    if [ -d ${dependency_plugin_path} ]
+    then
+        cp -rf ${dependency_plugin_path}/features/* ${build_path}/features/
+        cp -rf ${dependency_plugin_path}/plugins/* ${build_path}/plugins/
+    fi
 }
 
 __make_ant_build_properties_file()
 {
-       builder_path="${SRCDIR}/builder"
-       parent_path_of_based_eclipse=${reference_ide_path}/..
-
-       echo "Make build.properties file..."
-       if [ ! -e $builder_path/build.properties.clean ] ; then
-               echo "ERROR : \"build.properties.clean\" file does not exist..."
-               exit 1
-       fi
-       cp $builder_path/build.properties.clean $build_path
-       cp $builder_path/customTargets.xml $build_path
-
-       if [ -d $reference_ide_path ] 
-       then
-               sed -e "s;\(^buildDirectory=\).*;\1${build_path};g" \
-               -e "s;\(^base=\).*;\1${parent_path_of_based_eclipse};g" \
-               -e "s;\(^baseLocation=\).*;\1${reference_ide_path};g" \
-               -e "s;\(^configs=\).*;\1${archive_platform_name},${windowing},${architecture};g" \
-               -e "s;\(^buildType=\).*;\1${build_type};g" \
-               -e "s;\(^buildId=\).*;\1${build_id};g" \
-               -e "s;\(^archivePrefix=\).*;\1${build_id};g" \
-               < $build_path/build.properties.clean > $build_path/build.properties
-
-       else
-               echo "ERROR : target eclipse is not exist."
-               exit 1
-       fi
+    builder_path="${SRCDIR}/builder"
+    parent_path_of_based_eclipse=${reference_ide_path}/..
+
+    echo "Make build.properties file..."
+    if [ ! -e $builder_path/build.properties.clean ] ; then
+        echo "ERROR : \"build.properties.clean\" file does not exist..."
+        exit 1
+    fi
+    cp $builder_path/build.properties.clean $build_path
+    cp $builder_path/customTargets.xml $build_path
+
+    if [ -d $reference_ide_path ] 
+    then
+        sed -e "s;\(^buildDirectory=\).*;\1${build_path};g" \
+        -e "s;\(^base=\).*;\1${parent_path_of_based_eclipse};g" \
+        -e "s;\(^baseLocation=\).*;\1${reference_ide_path};g" \
+        -e "s;\(^configs=\).*;\1${archive_platform_name},${windowing},${architecture};g" \
+        -e "s;\(^buildType=\).*;\1${build_type};g" \
+        -e "s;\(^buildId=\).*;\1${build_id};g" \
+        -e "s;\(^archivePrefix=\).*;\1${build_id};g" \
+        < $build_path/build.properties.clean > $build_path/build.properties
+
+    else
+        echo "ERROR : target eclipse is not exist."
+        exit 1
+    fi
 }
 
 __execute_pde_build()
 {
-       echo "Execute Product Ant Builder..."
-       equinox_launcher=`echo org.eclipse.equinox.launcher_*.jar`
-       pde_build=`echo org.eclipse.pde.build_*`
+    echo "Execute Product Ant Builder..."
+    equinox_launcher=`echo org.eclipse.equinox.launcher_*.jar`
+    pde_build=`echo org.eclipse.pde.build_*`
 
-       java -jar ${reference_ide_path}/plugins/$equinox_launcher -application org.eclipse.ant.core.antRunner -buildfile ${reference_ide_path}/plugins/$pde_build/scripts/productBuild/productBuild.xml -Dbuilder=$build_path -Dosgi.locking=none 2>&1
+    java -jar ${reference_ide_path}/plugins/$equinox_launcher -application org.eclipse.ant.core.antRunner -buildfile ${reference_ide_path}/plugins/$pde_build/scripts/productBuild/productBuild.xml -Dbuilder=$build_path -Dosgi.locking=none 2>&1
 
-       if [ $? != 0 ];
-       then
-               echo "Build failed..."
-               exit 1
-       fi
+    if [ $? != 0 ];
+    then
+        echo "Build failed..."
+        exit 1
+    fi
 }
 
 __unzip_plugin_pack()
 {
-       echo "unzip to $build_result_path"
-       unzip -a $build_result_path/${result_archive_file} -d $build_result_path/${archive_platform_name}.${windowing}.${architecture}
+    echo "unzip to $build_result_path"
+    unzip -a $build_result_path/${result_archive_file} -d $build_result_path/${archive_platform_name}.${windowing}.${architecture}
 }
 
 build_plugins()
 {
-       case ${platform} in
-               linux)
-                       echo "build plugin for ${platform}"
-                       ;;
-               windows)
-                       echo "build plugin for ${platform}"
-                       ;;
-               *)
-                       echo "${platform} is not support yet."
-                       exit 1
-                       ;;
-       esac
-
-       __set_parameter
-       __set_build_parameter
-       __clean_build_environment
-       __copy_build_sources
-       __copy_dependency_plugins
-       __make_ant_build_properties_file
-       __execute_pde_build
-       __unzip_plugin_pack
-
-       echo "Build SUCCESS. You will find SDK IDE in \"${build_result_path}\"."
+    case ${platform} in
+        linux|windows|darwin)
+            echo "build plugin for ${platform}"
+            ;;
+        *)
+            echo "${platform} is not support yet."
+            exit 1
+            ;;
+    esac
+
+    __set_parameter
+    __set_build_parameter
+    __clean_build_environment
+    __copy_build_sources
+    __copy_dependency_plugins
+    __make_ant_build_properties_file
+    __execute_pde_build
+    __unzip_plugin_pack
+
+    echo "Build SUCCESS. You will find SDK IDE in \"${build_result_path}\"."
 }
 
 __clean_packaging_environment()
 {
 
-       if [ -d ${INSTALL_DIR} ]
-       then
-               rm -rf ${INSTALL_DIR}
-       else
-               mkdir -p ${INSTALL_DIR}
-       fi
+    if [ -d ${INSTALL_DIR} ]
+    then
+        rm -rf ${INSTALL_DIR}
+    else
+        mkdir -p ${INSTALL_DIR}
+    fi
 }
 
 __copy_necessary_binaries()
 {
-       echo "add necessary files."
-       ## ex) cp -rf ~~~~/file.file ${INSTALL_DIR}/${ide_root_path_name}/
+    echo "add necessary files."
+    ## ex) cp -rf ~~~~/file.file ${INSTALL_DIR}/${ide_root_path_name}/
 }
 
 packaging_plugins()
 {
-       __set_parameter
-       __set_install_parameter
+    __set_parameter
+    __set_install_parameter
 
-       __clean_packaging_environment
-       __copy_necessary_binaries
+    __clean_packaging_environment
+    __copy_necessary_binaries
 
-       install_ide_path=${INSTALL_DIR}/${ide_root_path_name}
-       
-       if [ ! -d ${install_ide_path} ]
-       then
-               mkdir -p ${install_ide_path}
-       fi
+    install_ide_path=${INSTALL_DIR}/${ide_root_path_name}
+    
+    if [ ! -d ${install_ide_path} ]
+    then
+        mkdir -p ${install_ide_path}
+    fi
 
-       cp -rf ${build_result_path}/${archive_platform_name}.${windowing}.${architecture}/${package_name}/* ${install_ide_path}/
+    cp -rf ${build_result_path}/${archive_platform_name}.${windowing}.${architecture}/${package_name}/* ${install_ide_path}/
 }
 
 # clean
 clean()
 {
-       echo "=========================================CLEAN============================================"
-       rm -rf ${SRCDIR}/*.zip
-       rm -rf ${SRCDIR}/*.tar.gz
-       rm -rf ${build_path}
+    echo "=========================================CLEAN============================================"
+    rm -rf ${SRCDIR}/*.zip
+    rm -rf ${SRCDIR}/*.tar.gz
+    rm -rf ${build_path}
 }
 
 # build
 build() 
 {
-       echo "=========================================BUILD============================================"
-       pkgname_and_platform_list=`awk 'BEGIN{RS="\n\n"; FS="\n"} /Package:/{for(i=1;i<NF;i++){if($i ~ /^OS:/){print $1,$i}}}' ${SRCDIR}/package/pkginfo.manifest | tr ' ' '@'`
-       for pkgname_and_platform in ${pkgname_and_platform_list}
-       do
-               pkgname_and_platform=`echo $pkgname_and_platform | tr '@' ' '`
-               package_name=`echo ${pkgname_and_platform} | cut -f1 -d " " | cut -f2 -d ":"`
-               platform=`echo ${pkgname_and_platform} | cut -f2 -d " " | cut -f2 -d ":"`
-       
-               if [ "x${BUILD_TARGET_OS}" = "x${platform}" ]
-               then
-                       build_plugins
-               else
-                       echo ""
-               fi
-       done
+    echo "=========================================BUILD============================================"
+    pkgname_and_platform_list=`awk 'BEGIN{RS="\n\n"; FS="\n"} /Package:/{for(i=1;i<NF;i++){if($i ~ /^OS:/){print $1,$i}}}' ${SRCDIR}/package/pkginfo.manifest | tr ' ' '@'`
+    for pkgname_and_platform in ${pkgname_and_platform_list}
+    do
+        pkgname_and_platform=`echo $pkgname_and_platform | tr '@' ' '`
+        package_name=`echo ${pkgname_and_platform} | cut -f1 -d " " | cut -f2 -d ":"`
+        platform=`echo ${pkgname_and_platform} | cut -f2 -d " " | cut -f2 -d ":"`
+    
+        if [ "x${BUILD_TARGET_OS}" = "x${platform}" ]
+        then
+            build_plugins
+        else
+            echo ""
+        fi
+    done
 }
 
 # install
 install() 
 {
-       pkgname_and_platform_list=`awk 'BEGIN{RS="\n\n"; FS="\n"} /Package:/{for(i=1;i<NF;i++){if($i ~ /^OS:/){print $1,$i}}}' ${SRCDIR}/package/pkginfo.manifest | tr ' ' '@'`
-       for pkgname_and_platform in ${pkgname_and_platform_list}
-       do
-               echo "=========================================INSTALL============================================"
-               pkgname_and_platform=`echo $pkgname_and_platform | tr '@' ' '`
-               package_name=`echo ${pkgname_and_platform} | cut -f1 -d " " | cut -f2 -d ":"`
-               platform=`echo ${pkgname_and_platform} | cut -f2 -d " " | cut -f2 -d ":"`
-
-               if [ "x${BUILD_TARGET_OS}" = "x${platform}" ]
-               then
-                       packaging_plugins
-               else
-                       echo ""
-               fi
-       done    
+    pkgname_and_platform_list=`awk 'BEGIN{RS="\n\n"; FS="\n"} /Package:/{for(i=1;i<NF;i++){if($i ~ /^OS:/){print $1,$i}}}' ${SRCDIR}/package/pkginfo.manifest | tr ' ' '@'`
+    for pkgname_and_platform in ${pkgname_and_platform_list}
+    do
+        echo "=========================================INSTALL============================================"
+        pkgname_and_platform=`echo $pkgname_and_platform | tr '@' ' '`
+        package_name=`echo ${pkgname_and_platform} | cut -f1 -d " " | cut -f2 -d ":"`
+        platform=`echo ${pkgname_and_platform} | cut -f2 -d " " | cut -f2 -d ":"`
+
+        if [ "x${BUILD_TARGET_OS}" = "x${platform}" ]
+        then
+            packaging_plugins
+        else
+            echo ""
+        fi
+    done    
 }
 
 [ "$1" = "clean" ] && clean
index 4aed057..0b81e1c 100644 (file)
@@ -1,5 +1,5 @@
 Package:common-eplugin
-Version:1.0.18
+Version:1.0.19
 OS:linux
 Build-host-os:linux
 Build-dependency:indigo-pde [linux], base-ide-product [linux]
@@ -9,7 +9,7 @@ Maintainer:kangho kim <kh5325.kim@samsung.com>, yoonki park <yoonki.park@samsung
 Description:Common plugin
 
 Package:common-eplugin
-Version:1.0.18
+Version:1.0.19
 OS:windows
 Build-host-os:linux
 Build-dependency:indigo-winpde [windows], base-ide-product [windows]
@@ -17,3 +17,13 @@ Install-dependency:base-ide-product [windows]
 Source:common-eplugin
 Maintainer:kangho kim <kh5325.kim@samsung.com>, yoonki park <yoonki.park@samsung.com>, hyunsik non <hyunsik.noh@samsung.com>, taeyoung son <taeyoung2.son@samsung.com>, gune Kim <gune.kim@samsung.com>, ho namkoong <ho.namkoong@samsung.com>, hyeongseok heo <hyeong-seok.heo@samsung.com>, gyeongseok seo <gyeongseok.seo@samsung.com>, jihoon song<jihoon80.song@samsung.com>, changhyun lee <changhyun1.lee@samsung.com>, bonyong lee <bonyong.lee@samsung.com>
 Description:Common plugin
+
+Package:common-eplugin
+Version:1.0.19
+OS:darwin
+Build-host-os:linux
+Build-dependency:indigo-macpde [darwin], base-ide-product [darwin]
+Install-dependency:base-ide-product [darwin]
+Source:common-eplugin
+Maintainer:kangho kim <kh5325.kim@samsung.com>, yoonki park <yoonki.park@samsung.com>, hyunsik non <hyunsik.noh@samsung.com>, taeyoung son <taeyoung2.son@samsung.com>, gune Kim <gune.kim@samsung.com>, ho namkoong <ho.namkoong@samsung.com>, hyeongseok heo <hyeong-seok.heo@samsung.com>, gyeongseok seo <gyeongseok.seo@samsung.com>, jihoon song <jihoon80.song@samsung.com>, changhyun lee <changhyun1.lee@samsung.com>, bonyong lee <bonyong.lee@samsung.com>
+Description:Common plugin