You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2010/07/01 14:56:53 UTC
svn commit: r959642 [3/3] - in /directory/studio/trunk: ./ application/
application/application-eclipse-plugins/
application/application-eclipse-plugins/src/
application/application-eclipse-plugins/src/main/
application/application-eclipse-plugins/src/...
Added: directory/studio/trunk/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh?rev=959642&view=auto
==============================================================================
--- directory/studio/trunk/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh (added)
+++ directory/studio/trunk/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh Thu Jul 1 12:56:51 2010
@@ -0,0 +1,437 @@
+ ;_____________________________ HEADER FILE BEGIN ____________________________
+
+ # Advanced Uninstall Log NSIS header
+ # Version 1.0 2007-01-31
+ # By Red Wine (http://nsis.sf.net/User:Red_Wine)
+
+ # Usage: See included examples Uninstall_Log_Default_UI.nsi - Uninstall_Log_Modern_UI.nsi
+
+!verbose push
+ !verbose 3
+
+!ifndef ADVANCED_UNINSTALL.LOG_NSH
+ !define ADVANCED_UNINSTALL.LOG_NSH
+
+!ifndef INSTDIR_REG_ROOT | INSTDIR_REG_KEY
+ !error "You must properly define both INSTDIR_REG_ROOT and INSTDIR_REG_KEY"
+!endif
+
+!ifndef UNINSTALL_LOG
+ !define UNINSTALL_LOG "Uninstall"
+!endif
+
+!ifndef UNINST_LOG_VERBOSE
+ !define UNINST_LOG_VERBOSE "3"
+!endif
+
+!verbose pop
+
+!echo "Advanced Uninstall Log NSIS header v1.0 2007-01-31 by Red Wine (http://nsis.sf.net/User:Red_Wine)"
+
+!verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+!define UNINST_EXE "$INSTDIR\${UNINSTALL_LOG}.exe"
+!define UNINST_DAT "$INSTDIR\${UNINSTALL_LOG}.dat"
+!define UNLOG_PART "$PLUGINSDIR\part."
+!define UNLOG_TEMP "$PLUGINSDIR\unlog.tmp"
+!define EXCLU_LIST "$PLUGINSDIR\exclude.tmp"
+!define UNLOG_HEAD "=========== Uninstaller Log please do not edit this file ==========="
+
+ var unlog_tmp_0
+ var unlog_tmp_1
+ var unlog_tmp_2
+ var unlog_tmp_3
+ var unlog_error
+
+!include FileFunc.nsh
+!include TextFunc.nsh
+
+!insertmacro Locate
+!insertmacro un.Locate
+!insertmacro DirState
+!insertmacro un.DirState
+!insertmacro FileJoin
+!insertmacro TrimNewLines
+!insertmacro un.TrimNewLines
+
+;.............................. Uninstaller Macros ..............................
+
+!macro UNINSTALL.LOG_BEGIN_UNINSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ IfFileExists "${UNINST_DAT}" +3
+ MessageBox MB_ICONSTOP|MB_OK "${UNINST_DAT} not found, unable to perform uninstall." /SD IDOK
+ Quit
+
+ StrCmp "$PLUGINSDIR" "" 0 +2
+ InitPluginsDir
+
+ CopyFiles "${UNINST_DAT}" "${UNLOG_TEMP}"
+ FileOpen $unlog_tmp_2 "${UNLOG_TEMP}" r
+
+ !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_END_UNINSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ FileClose $unlog_tmp_2
+ DeleteRegValue ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}.dat"
+ DeleteRegValue ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}Directory"
+
+ !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_UNINSTALL TargetDir
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ !ifndef INTERACTIVE_UNINSTALL & UNATTENDED_UNINSTALL
+ !error "You must insert either Interactive or Unattended Uninstall neither both, neither none."
+ !endif
+
+ !ifdef INTERACTIVE_UNINSTALL
+ GetTempFileName $unlog_tmp_5 "$PLUGINSDIR"
+ FileOpen $unlog_tmp_4 "$unlog_tmp_5" a
+ !endif
+
+ ${PerfomUninstall} "${TargetDir}" "${UnLog_Uninstall_CallBackFunc}"
+
+ !ifdef INTERACTIVE_UNINSTALL
+ FileClose $unlog_tmp_4
+ !endif
+
+ !verbose pop
+!macroend
+
+
+!define PerfomUninstall "!insertmacro PERFORMUNINSTALL"
+
+!macro PERFORMUNINSTALL TargetDir UninstCallBackFunc
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ !define ID ${__LINE__}
+
+ ${un.Locate} "${TargetDir}" "/L=F" "${UninstCallBackFunc}"
+
+ loop_${ID}:
+
+ StrCpy $unlog_tmp_1 0
+
+ ${un.Locate} "${TargetDir}" "/L=DE" "${UninstCallBackFunc}"
+ StrCmp $unlog_tmp_1 "0" 0 loop_${ID}
+
+ ${un.DirState} "${TargetDir}" $unlog_tmp_0
+ StrCmp "$unlog_tmp_0" "0" 0 +2
+ RmDir "${TargetDir}"
+
+ IfErrors 0 +2
+ MessageBox MB_ICONEXCLAMATION|MB_OK "${UNINSTALL_LOG} Log error" /SD IDOK
+
+ !undef ID
+
+ !verbose pop
+!macroend
+
+
+!macro INTERACTIVE_UNINSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ !ifdef INTERACTIVE_UNINSTALL
+ !error "INTERACTIVE_UNINSTALL is already defined"
+ !endif
+
+ var unlog_tmp_4
+ var unlog_tmp_5
+
+ !define INTERACTIVE_UNINSTALL
+
+ !ifdef INTERACTIVE_UNINSTALL & UNATTENDED_UNINSTALL
+ !error "You must insert either Interactive or Unattended Uninstall neither both, neither none."
+ !endif
+
+ !ifdef UnLog_Uninstall_CallBackFunc
+ !undef UnLog_Uninstall_CallBackFunc
+ !endif
+
+ !ifndef UnLog_Uninstall_CallBackFunc
+ !insertmacro UNINSTALL.LOG_UNINSTALL_INTERACTIVE
+ !define UnLog_Uninstall_CallBackFunc "un._LocateCallBack_Function_Interactive"
+ !endif
+
+ !verbose pop
+!macroend
+
+
+!macro UNATTENDED_UNINSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ !ifdef UNATTENDED_UNINSTALL
+ !error "UNATTENDED_UNINSTALL is already defined"
+ !endif
+
+ !define UNATTENDED_UNINSTALL
+
+ !ifdef INTERACTIVE_UNINSTALL & UNATTENDED_UNINSTALL
+ !error "You must insert either Interactive or Unattended Uninstall neither both, neither none."
+ !endif
+
+ !ifdef UnLog_Uninstall_CallBackFunc
+ !undef UnLog_Uninstall_CallBackFunc
+ !endif
+
+ !ifndef UnLog_Uninstall_CallBackFunc
+ !insertmacro UNINSTALL.LOG_UNINSTALL_UNATTENDED
+ !define UnLog_Uninstall_CallBackFunc "un._LocateCallBack_Function_Unattended"
+ !endif
+
+ !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_UNINSTALL_UNATTENDED
+
+ Function un._LocateCallBack_Function_Unattended
+ start:
+ FileRead $unlog_tmp_2 "$unlog_tmp_3" ${NSIS_MAX_STRLEN}
+ ${un.TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+ StrCmp "$unlog_tmp_3" "$R9" islog
+ IfErrors nolog
+ goto start
+
+ islog:
+ IfFileExists "$R9\*.*" isdir
+
+ isfile:
+ Delete "$R9"
+ goto end
+
+ isdir:
+ RmDir "$R9"
+ IntOp $unlog_tmp_1 $unlog_tmp_1 + 1
+ goto end
+
+ nolog:
+ ClearErrors
+ StrCmp "$R9" "${UNINST_EXE}" isfile
+ StrCmp "$R9" "${UNINST_DAT}" isfile
+
+ end:
+ FileSeek $unlog_tmp_2 0 SET
+ Push $unlog_tmp_0
+ FunctionEnd
+
+!macroend
+
+
+!macro UNINSTALL.LOG_UNINSTALL_INTERACTIVE
+
+ Function un._LocateCallBack_Function_Interactive
+ start:
+ FileRead $unlog_tmp_2 "$unlog_tmp_3" ${NSIS_MAX_STRLEN}
+ ${un.TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+ StrCmp "$unlog_tmp_3" "$R9" islog
+ IfErrors nolog
+ goto start
+
+ islog:
+ IfFileExists "$R9\*.*" isdir
+
+ isfile:
+ Delete "$R9"
+ goto end
+
+ isdir:
+ RmDir "$R9"
+ IntOp $unlog_tmp_1 $unlog_tmp_1 + 1
+ goto end
+
+ nolog:
+ ClearErrors
+ FileSeek $unlog_tmp_4 0 SET
+ read:
+ FileRead $unlog_tmp_4 "$unlog_tmp_3"
+ ${un.TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+ StrCmp "$unlog_tmp_3" "$R9" end
+ IfErrors +2
+ goto read
+ ClearErrors
+ StrCmp "$R9" "${UNINST_EXE}" isfile
+ StrCmp "$R9" "${UNINST_DAT}" isfile
+ IfFileExists "$R9\*.*" msgdir
+
+ MessageBox MB_ICONQUESTION|MB_YESNO \
+ 'Delete File "$R9"?' /SD IDNO IDYES isfile IDNO nodel
+
+ msgdir:
+ MessageBox MB_ICONQUESTION|MB_YESNO \
+ 'Delete Directory "$R9"?' /SD IDNO IDYES isdir IDNO nodel
+
+ nodel:
+ FileSeek $unlog_tmp_4 0 END
+ FileWrite $unlog_tmp_4 "$R9$\r$\n"
+
+ end:
+ FileSeek $unlog_tmp_2 0 SET
+ Push $unlog_tmp_0
+ FunctionEnd
+
+!macroend
+
+;................................. Installer Macros .................................
+
+!macro UNINSTALL.LOG_INSTALL_UNATTENDED
+
+ Function _LocateCallBack_Function_Install
+ loop:
+ FileRead $unlog_tmp_2 "$unlog_tmp_3" ${NSIS_MAX_STRLEN}
+ ${TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+ IfErrors 0 +4
+ ClearErrors
+ FileSeek $unlog_tmp_2 0 SET
+ goto next
+ StrCmp "$R9" "$unlog_tmp_3" end
+ goto loop
+ next:
+ FileWrite $unlog_tmp_1 "$R9$\r$\n"
+ end:
+ Push $unlog_tmp_0
+ FunctionEnd
+
+!macroend
+
+
+!ifdef UnLog_Install_Func_CallBack
+ !undef UnLog_Install_Func_CallBack
+!endif
+
+!ifndef UnLog_Install_Func_CallBack
+ !insertmacro UNINSTALL.LOG_INSTALL_UNATTENDED
+ !define UnLog_Install_Func_CallBack "_LocateCallBack_Function_Install"
+!endif
+
+
+!macro UNINSTALL.LOG_PREPARE_INSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ Push $0
+ Push $1
+ ClearErrors
+ ReadRegStr "$0" ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}Directory"
+ IfErrors next
+ ${DirState} "$0" $1
+ StrCmp "$1" "-1" next
+ StrCmp "$1" "0" next
+ IfFileExists "$0\${UNINSTALL_LOG}.dat" next
+ MessageBox MB_ICONEXCLAMATION|MB_OK \
+ "Previous installation detected at $0.$\n\
+ Required file ${UNINSTALL_LOG}.dat is missing.$\n$\nIt is highly recommended \
+ to select an empty directory and perform a fresh installation." /SD IDOK
+ StrCpy $unlog_error "error"
+
+ next:
+ ClearErrors
+ StrCmp "$PLUGINSDIR" "" 0 +2
+ InitPluginsDir
+
+ GetTempFileName "$1"
+ FileOpen $0 "$1" w
+ FileWrite $0 "${UNLOG_HEAD}$\r$\n"
+ FileClose $0
+ Rename "$1" "${UNLOG_TEMP}"
+ Pop $1
+ Pop $0
+
+ !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_UPDATE_INSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ Delete "${UNINST_DAT}"
+ Rename "${UNLOG_TEMP}" "${UNINST_DAT}"
+ WriteUninstaller "${UNINST_EXE}"
+ WriteRegStr ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}.dat" "${UNINST_DAT}"
+ WriteRegStr ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}Directory" "$INSTDIR"
+
+ !verbose pop
+!macroend
+
+
+!define uninstall.log_install "!insertmacro UNINSTALL.LOG_INSTALL"
+
+!macro UNINSTALL.LOG_INSTALL FileOpenWrite FileOpenRead TargetDir
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ FileOpen $unlog_tmp_1 "${FileOpenWrite}" w
+ FileOpen $unlog_tmp_2 "${FileOpenRead}" r
+
+ ${Locate} "${TargetDir}" "/L=FD" "${UnLog_Install_Func_CallBack}"
+
+ StrCmp $unlog_error "error" 0 +2
+ ClearErrors
+
+ IfErrors 0 +2
+ MessageBox MB_ICONEXCLAMATION|MB_OK "Error creating ${UNINSTALL_LOG} Log." /SD IDOK
+
+ FileClose $unlog_tmp_1
+ FileClose $unlog_tmp_2
+
+ !verbose pop
+!macroend
+
+
+!define uninstall.log_mergeID "!insertmacro UNINSTALL.LOG_MERGE"
+
+!macro UNINSTALL.LOG_MERGE UnlogPart
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ ${FileJoin} "${UNLOG_TEMP}" "${UnlogPart}" "${UNLOG_TEMP}"
+
+ !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_OPEN_INSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ StrCmp $unlog_error "error" +2
+ ${uninstall.log_install} "${EXCLU_LIST}" "${UNINST_DAT}" "$OUTDIR"
+
+ !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_CLOSE_INSTALL
+ !verbose push
+ !verbose ${UNINST_LOG_VERBOSE}
+
+ !define ID ${__LINE__}
+
+ ${uninstall.log_install} "${UNLOG_PART}${ID}" "${EXCLU_LIST}" "$OUTDIR"
+ ${uninstall.log_mergeID} "${UNLOG_PART}${ID}"
+
+ !undef ID ${__LINE__}
+
+ !verbose pop
+!macroend
+
+!endif
+
+!verbose pop
+ ;_____________________________ HEADER FILE END ____________________________
+
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh
------------------------------------------------------------------------------
svn:executable = *
Added: directory/studio/trunk/application/application-win32-exe/src/main/resources/header_studio.bmp
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32-exe/src/main/resources/header_studio.bmp?rev=959642&view=auto
==============================================================================
Binary file - no diff available.
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/header_studio.bmp
------------------------------------------------------------------------------
svn:executable = *
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/header_studio.bmp
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: directory/studio/trunk/application/application-win32-exe/src/main/resources/installer.nsi
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32-exe/src/main/resources/installer.nsi?rev=959642&view=auto
==============================================================================
--- directory/studio/trunk/application/application-win32-exe/src/main/resources/installer.nsi (added)
+++ directory/studio/trunk/application/application-win32-exe/src/main/resources/installer.nsi Thu Jul 1 12:56:51 2010
@@ -0,0 +1,232 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+#
+# Constants and variables
+#
+ !define Application "Apache Directory Studio"
+ !define Version "@version@"
+ !define Icon "studio-installer.ico"
+ !define WelcomeImage "welcome_studio.bmp"
+ !define HeaderImage "header_studio.bmp"
+ !define OutFile "../@installer-file-name@"
+ !define SourceFolder "ApacheDirectoryStudio-win32-${Version}"
+ !define INSTDIR_REG_ROOT "HKLM"
+ !define INSTDIR_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${Application}"
+
+#
+# Modules inclusions
+#
+ # Modern UI module
+ !include "MUI.nsh"
+
+ # Uninstall log module
+ !include AdvUninstLog.nsh
+
+#
+# Configuration
+#
+ # Name of the application
+ Name "${Application}"
+
+ # Output installer file
+ OutFile "${OutFile}"
+
+ # Default install directory
+ InstallDir "$PROGRAMFILES\${Application}"
+
+ # Branding text
+ BrandingText "${Application} - ${Version}"
+
+ # Activating XPStyle
+ XPStyle on
+
+ # Installer icon
+ !define MUI_ICON "${Icon}"
+
+ # Uninstaller icon
+ !define MUI_UNICON "${Icon}"
+
+ # Welcome image
+ !define MUI_WELCOMEFINISHPAGE_BITMAP "${WelcomeImage}"
+
+ # Activating header image
+ !define MUI_HEADERIMAGE
+ !define MUI_HEADERIMAGE_BITMAP "${HeaderImage}"
+
+ # Activating small description for the components page
+ !define MUI_COMPONENTSPAGE_SMALLDESC
+
+ # Activating a confirmation when aborting the installation
+ !define MUI_ABORTWARNING
+
+ # Unattended uninstallation
+ !insertmacro UNATTENDED_UNINSTALL
+
+#
+# Pages
+#
+ #
+ # Installer pages
+ #
+
+ # Welcome page
+ !insertmacro MUI_PAGE_WELCOME
+
+ # License page
+ !insertmacro MUI_PAGE_LICENSE "${SourceFolder}\LICENSE.txt"
+
+ # Components page
+ #!insertmacro MUI_PAGE_COMPONENTS
+
+ # Directory page
+ #!define MUI_DIRECTORYPAGE_VARIABLE $APPLICATION_HOME_DIR
+ !insertmacro MUI_PAGE_DIRECTORY
+
+ # Installation page
+ !insertmacro MUI_PAGE_INSTFILES
+
+ # Finish page
+ !insertmacro MUI_PAGE_FINISH
+
+ #
+ # Uninstaller pages
+ #
+
+ # Confirmation page
+ !insertmacro MUI_UNPAGE_CONFIRM
+
+ # Uninstallation page
+ !insertmacro MUI_UNPAGE_INSTFILES
+
+#
+# Languages (the first one is the default one)
+#
+ !insertmacro MUI_LANGUAGE "English"
+ !insertmacro MUI_LANGUAGE "French"
+ !insertmacro MUI_LANGUAGE "German"
+
+#
+# Functions
+#
+ # Internationalized strings
+ LangString message ${LANG_ENGLISH} "${Application} is already installed.$\n$\nClick 'OK' to remove the previous version$\nor 'Cancel' to cancel this installation."
+ LangString message ${LANG_FRENCH} "${Application} est déjà installé.$\n$\nCliquez sur 'OK' pour supprimer la version précédente$\nou sur 'Annuler' pour annuler cette installation."
+ LangString message ${LANG_GERMAN} "${Application} ist bereits installiert.$\n$\nKlicke 'OK' um die frühere Version zu entfernen$\noder 'Abbruch' um die Installation abzubrechen."
+
+ # onInit function
+ Function .onInit
+ # Preventing the window to close automatically at the end of the (un)installation
+ SetAutoClose false
+
+ # Verifying if the application is already installed
+ ReadRegStr $R0 "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "UninstallString"
+ StrCmp $R0 "" done
+
+ # Getting install location
+ ReadRegStr $R1 "${INSTDIR_REG_ROOT}" "SOFTWARE\${Application}" "InstallDir"
+ StrCmp $R1 "" done
+
+ # The application is already installed
+ # Asking before running the uninstaller
+ MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(message)" \
+ IDOK uninst
+ Abort
+
+ # Running the uninstaller
+ uninst:
+ ExecWait '$R0 _?=$R1'
+
+ done:
+ # Preparing the uninstall log
+ !insertmacro UNINSTALL.LOG_PREPARE_INSTALL
+ FunctionEnd
+
+ # onInstSuccess function
+ Function .onInstSuccess
+ # Updating the uninstall log
+ !insertmacro UNINSTALL.LOG_UPDATE_INSTALL
+ FunctionEnd
+
+ # UN.onInit function
+ Function UN.onInit
+ # Begin uninstall
+ !insertmacro UNINSTALL.LOG_BEGIN_UNINSTALL
+ FunctionEnd
+
+#
+# Sections
+#
+ # Installer section
+ Section
+ SetOutPath "$INSTDIR"
+
+ # Opening uninstall log
+ !insertmacro UNINSTALL.LOG_OPEN_INSTALL
+
+ # Adding installer source files
+ File /r "${SourceFolder}\*"
+
+ # Storing install location
+ WriteRegStr "${INSTDIR_REG_ROOT}" "SOFTWARE\${Application}" "InstallDir" $INSTDIR
+
+ # Creating directories in the start menu
+ CreateDirectory "$SMPROGRAMS\Apache Directory Studio"
+
+ # Creating a shortcut to the application
+ CreateShortCut "$SMPROGRAMS\Apache Directory Studio\Apache Directory Studio.lnk" "$INSTDIR\Apache Directory Studio.exe" "" "$INSTDIR\Apache Directory Studio.exe" 0
+
+ # Creating an internet shortcut to the documentation
+ WriteINIStr "$SMPROGRAMS\Apache Directory Studio\Documentation.url" "InternetShortcut" "URL" "http://directory.apache.org/studio/users-guide.html"
+
+ # Configuring registries for the uninstaller
+ WriteRegStr "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "DisplayName" "${Application} - (remove only)"
+ WriteRegStr "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "DisplayIcon" "$INSTDIR\uninstall.exe"
+ WriteRegStr "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "NoModify" "1"
+ WriteRegDWORD "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "NoRepair" "1"
+
+ # Creating the uninstaller
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+ # Creating a shortcut to the uninstaller
+ CreateShortCut "$SMPROGRAMS\Apache Directory Studio\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
+
+ # Closing uninstall log
+ !insertmacro UNINSTALL.LOG_CLOSE_INSTALL
+ SectionEnd
+
+ # Uninstaller section
+ Section Uninstall
+ # Removing installed files (one line per directory is mandatory)
+ !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR"
+ !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR\configuration"
+ !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR\plugins"
+ !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR\features"
+ Delete "$INSTDIR\Uninstall.exe"
+
+ # Finishing uninstall
+ !insertmacro UNINSTALL.LOG_END_UNINSTALL
+
+ # Remove shortcuts and folders in the start menu
+ RMDir /r "$SMPROGRAMS\Apache Directory Studio"
+
+ # Removing registry keys
+ DeleteRegKey "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}"
+ SectionEnd
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/installer.nsi
------------------------------------------------------------------------------
svn:executable = *
Added: directory/studio/trunk/application/application-win32-exe/src/main/resources/studio-installer.ico
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32-exe/src/main/resources/studio-installer.ico?rev=959642&view=auto
==============================================================================
Binary file - no diff available.
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/studio-installer.ico
------------------------------------------------------------------------------
svn:executable = *
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/studio-installer.ico
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: directory/studio/trunk/application/application-win32-exe/src/main/resources/welcome_studio.bmp
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32-exe/src/main/resources/welcome_studio.bmp?rev=959642&view=auto
==============================================================================
Binary file - no diff available.
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/welcome_studio.bmp
------------------------------------------------------------------------------
svn:executable = *
Propchange: directory/studio/trunk/application/application-win32-exe/src/main/resources/welcome_studio.bmp
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: directory/studio/trunk/application/application-win32/pom.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32/pom.xml?rev=959642&view=auto
==============================================================================
--- directory/studio/trunk/application/application-win32/pom.xml (added)
+++ directory/studio/trunk/application/application-win32/pom.xml Thu Jul 1 12:56:51 2010
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!--
+ @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.directory.studio</groupId>
+ <artifactId>application</artifactId>
+ <version>1.5.4-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>ApacheDirectoryStudio-win32</artifactId>
+ <name>Apache Directory Studio Application Win32</name>
+ <packaging>pom</packaging>
+
+ <properties>
+ <app-dir>${studio-dir}-win32</app-dir>
+ <plugins-dir>${app-dir}/plugins</plugins-dir>
+ <features-dir>${app-dir}/features</features-dir>
+ <configuration-dir>${app-dir}/configuration</configuration-dir>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-studio-launcher-win32</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.directory.studio</groupId>
+ <artifactId>launcher-win32</artifactId>
+ <type>tar.gz</type>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ <execution>
+ <id>unpack-plugins-features-archives</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.directory.studio</groupId>
+ <artifactId>application-plugins</artifactId>
+ <type>zip</type>
+ <version>${project.version}</version> <!-- TODO -->
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.apache.directory.studio</groupId>
+ <artifactId>application-eclipse-plugins</artifactId>
+ <type>zip</type>
+ <version>${project.version}</version> <!-- TODO -->
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.apache.directory.studio</groupId>
+ <artifactId>application-features</artifactId>
+ <classifier>unpacked</classifier>
+ <type>zip</type>
+ <version>${project.version}</version> <!-- TODO -->
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <!-- Unpack the Studio launcher for Win32 -->
+ <execution>
+ <id>unpack-studio-launcher-win32</id>
+ <phase>generate-resources</phase>
+ <configuration>
+ <tasks>
+ <untar dest="${app-dir}" compression="gzip">
+ <fileset dir="${project.build.directory}" includes="launcher-win32*.tar.gz"/>
+ </untar>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <!-- Copy plugins and features -->
+ <execution>
+ <id>copy-plugins-features</id>
+ <phase>process-resources</phase>
+ <configuration>
+ <tasks>
+ <copy todir="${plugins-dir}">
+ <fileset dir="${project.build.directory}/application-plugins-${project.version}" />
+ <fileset dir="${project.build.directory}/application-eclipse-plugins-${project.version}" />
+ </copy>
+ <copy todir="${features-dir}">
+ <fileset dir="${project.build.directory}/application-features-${project.version}" />
+ </copy>
+ <copy todir="${configuration-dir}" file="src/main/configuration/config.ini" />
+ <copy todir="${app-dir}" file="../../docs/LICENSE.txt" />
+ <copy todir="${app-dir}" file="../../docs/NOTICE.txt" />
+ <copy todir="${app-dir}" file="../../docs/Release Notes.txt" />
+ <chmod file="${app-dir}/Apache Directory Studio.exe" perm="755"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.directory.studio</groupId>
+ <artifactId>studio-maven-plugin</artifactId>
+ <executions>
+ <!-- Copy specific plugins for Win32 -->
+ <execution>
+ <id>copy-plugins-win32</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-eclipse-artifact</goal>
+ </goals>
+ <configuration>
+ <destinationDirectory>${plugins-dir}</destinationDirectory>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.eclipse.core.filesystem.win32</groupId>
+ <artifactId>x86</artifactId>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.eclipse.swt.win32.win32</groupId>
+ <artifactId>x86</artifactId>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ <!-- Unpack specific plugins for Win32 -->
+ <execution>
+ <id>unpack-plugins-win32</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>unpack-with-artifactid-prefix</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${plugins-dir}</outputDirectory>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.eclipse.equinox.launcher.win32.win32</groupId>
+ <artifactId>x86</artifactId>
+ <type>zip</type>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <!-- Create the distribution file -->
+ <execution>
+ <id>assembly-distribution-win32</id>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/application.xml</descriptor>
+ </descriptors>
+ </configuration>
+ <goals>
+ <goal>attached</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: directory/studio/trunk/application/application-win32/src/main/assembly/application.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32/src/main/assembly/application.xml?rev=959642&view=auto
==============================================================================
--- directory/studio/trunk/application/application-win32/src/main/assembly/application.xml (added)
+++ directory/studio/trunk/application/application-win32/src/main/assembly/application.xml Thu Jul 1 12:56:51 2010
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!-- $Rev: $ $Date: $ -->
+<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.1.0-SNAPSHOT.xsd">
+ <id></id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <fileSets>
+ <!-- Application files except the main executable -->
+ <fileSet>
+ <directory>${app-dir}</directory>
+ <outputDirectory>/</outputDirectory>
+ <excludes>
+ <exclude>Apache Directory Studio.exe</exclude>
+ </excludes>
+ <fileMode>644</fileMode>
+ </fileSet>
+
+ <!-- Application executable -->
+ <fileSet>
+ <directory>${app-dir}</directory>
+ <outputDirectory>/</outputDirectory>
+ <includes>
+ <include>Apache Directory Studio.exe</include>
+ </includes>
+ <fileMode>755</fileMode>
+ </fileSet>
+ </fileSets>
+</assembly>
Added: directory/studio/trunk/application/application-win32/src/main/configuration/config.ini
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32/src/main/configuration/config.ini?rev=959642&view=auto
==============================================================================
--- directory/studio/trunk/application/application-win32/src/main/configuration/config.ini (added)
+++ directory/studio/trunk/application/application-win32/src/main/configuration/config.ini Thu Jul 1 12:56:51 2010
@@ -0,0 +1,12 @@
+#Product Runtime Configuration File
+
+osgi.splashPath=platform:/base/plugins/org.apache.directory.studio.rcp
+eclipse.product=org.apache.directory.studio.rcp.product
+osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@3:start,org.eclipse.core.runtime@start
+osgi.bundles.defaultStartLevel=4
+
+# Use system small fonts (Mac OS X only)
+org.eclipse.swt.internal.carbon.smallFonts=true
+
+# The workspace location
+osgi.instance.area.default=@user.home/.ApacheDirectoryStudio
Added: directory/studio/trunk/application/application-win32/src/main/site/site.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/application-win32/src/main/site/site.xml?rev=959642&view=auto
==============================================================================
--- directory/studio/trunk/application/application-win32/src/main/site/site.xml (added)
+++ directory/studio/trunk/application/application-win32/src/main/site/site.xml Thu Jul 1 12:56:51 2010
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!--
+ @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+-->
+<project name="${project.name}">
+ <body>
+ <menu ref="parent" />
+ <menu ref="reports" />
+ </body>
+</project>
Added: directory/studio/trunk/application/pom.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/application/pom.xml?rev=959642&view=auto
==============================================================================
--- directory/studio/trunk/application/pom.xml (added)
+++ directory/studio/trunk/application/pom.xml Thu Jul 1 12:56:51 2010
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!--
+ @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.directory.studio</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.5.4-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>application</artifactId>
+ <name>Apache Directory Studio Application</name>
+ <packaging>pom</packaging>
+
+ <properties>
+ <studio-dir>${project.build.directory}/ApacheDirectoryStudio</studio-dir>
+ </properties>
+
+ <modules>
+ <module>application-features</module>
+ <module>application-plugins</module>
+ <module>application-eclipse-plugins</module>
+ </modules>
+
+ <profiles>
+ <profile>
+ <id>linux-x86</id>
+ <activation>
+ <os>
+ <arch>i386</arch>
+ <family>unix</family>
+ <name>linux</name>
+ </os>
+ </activation>
+ <modules>
+ <module>application-linux-x86</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>linux-x86_64</id>
+ <activation>
+ <os>
+ <arch>amd64</arch>
+ <family>unix</family>
+ <name>linux</name>
+ </os>
+ </activation>
+ <modules>
+ <module>application-linux-x86_64</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>macosx</id>
+ <activation>
+ <os>
+ <family>unix</family>
+ <name>mac os x</name>
+ </os>
+ </activation>
+ <modules>
+ <module>application-macosx</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>win32</id>
+ <activation>
+ <os>
+ <arch>x86</arch>
+ <family>windows</family>
+ </os>
+ </activation>
+ <modules>
+ <module>application-win32</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>updatesite</id>
+ <modules>
+ <module>application-updatesite</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>release</id>
+ <modules>
+ <module>application-updatesite</module>
+ <module>application-macosx-dmg</module>
+ <module>application-win32-exe</module>
+ <module>application-release</module>
+ </modules>
+ </profile>
+ </profiles>
+
+ <build>
+ <plugins>
+ <!-- Overwritten configuration from the Directory Project pom -->
+ <plugin>
+ <groupId>org.apache.geronimo.genesis.plugins</groupId>
+ <artifactId>tools-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>verify-legal-files</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>verify-legal-files</goal>
+ </goals>
+ <configuration>
+ <strict>false</strict>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Modified: directory/studio/trunk/pom.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/pom.xml?rev=959642&r1=959641&r2=959642&view=diff
==============================================================================
--- directory/studio/trunk/pom.xml (original)
+++ directory/studio/trunk/pom.xml Thu Jul 1 12:56:51 2010
@@ -106,17 +106,12 @@
</build>
</profile>
<!--
- Building help modules can be skipped by adding
- -Dfastbuild
- to the commandline.
+ Building help and features modules are disabled by default. Add
+ -Dstudio-full
+ to the commandline to add them to the build.
-->
<profile>
- <id>build-help-modules</id>
- <activation>
- <property>
- <name>!fastbuild</name>
- </property>
- </activation>
+ <id>studio-full</id>
<modules>
<module>schemaeditor-help</module>
<module>ldifeditor-help</module>
@@ -124,6 +119,12 @@
<module>apacheds-configuration-help</module>
<module>rcp-help</module>
<module>apacheds-help</module>
+ <module>apacheds-configuration-feature</module>
+ <module>apacheds-feature</module>
+ <module>ldapbrowser-feature</module>
+ <module>ldifeditor-feature</module>
+ <module>rcp-feature</module>
+ <module>schemaeditor-feature</module>
</modules>
</profile>
<!--
@@ -139,29 +140,20 @@
</modules>
</profile>
<!--
- Add the dist modules as profile to force them being built
- AFTER the help modules, otherwise we run into a backlog
- of at least 1 iteration because the dist modules would be
- built before the help modules ...
- -->
- <!--
- NOTE:
- This profile has been disabled for the release, and needs to be
- enabled again after the release is over.
- We are disabling the build of 'updatesite' and 'studio' because we don't
- want to overload the maven repository with useless (heavy) packages and
- distributions
+ Add the 'application' module as a profile to force it being built
+ AFTER all the orther modules, otherwise we run into a backlog
+ of at least 1 iteration because the 'application' modules would be
+ built before the other modules...
-->
<profile>
- <id>build-dist-modules</id>
+ <id>build-application</id>
<activation>
<file>
<exists>pom.xml</exists>
</file>
</activation>
<modules>
- <module>updatesite</module>
- <module>studio</module>
+ <module>application</module>
</modules>
</profile>
</profiles>