celix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From abroekh...@apache.org
Subject svn commit: r1414173 - in /incubator/celix/trunk: cmake/ examples/ examples/osgi-in-action/chapter04-correct-listener/private/src/ examples/osgi-in-action/chapter04-paint-example/ framework/private/src/ framework/public/include/ shell/private/src/ shel...
Date Tue, 27 Nov 2012 13:16:59 GMT
Author: abroekhuis
Date: Tue Nov 27 13:16:56 2012
New Revision: 1414173

URL: http://svn.apache.org/viewvc?rev=1414173&view=rev
Log:
CELIX-42: Several changes to the build system to support Visual Studio. Renamed Service_event
enum types for for Visual Studio support.

Modified:
    incubator/celix/trunk/cmake/Packaging.cmake
    incubator/celix/trunk/examples/CMakeLists.txt
    incubator/celix/trunk/examples/osgi-in-action/chapter04-correct-listener/private/src/listener_example.c
    incubator/celix/trunk/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt
    incubator/celix/trunk/framework/private/src/framework.c
    incubator/celix/trunk/framework/private/src/service_registry.c
    incubator/celix/trunk/framework/private/src/service_tracker.c
    incubator/celix/trunk/framework/public/include/service_event.h
    incubator/celix/trunk/shell/private/src/shell.c
    incubator/celix/trunk/shell_tui/private/src/shell_tui.c

Modified: incubator/celix/trunk/cmake/Packaging.cmake
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/cmake/Packaging.cmake?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/cmake/Packaging.cmake (original)
+++ incubator/celix/trunk/cmake/Packaging.cmake Tue Nov 27 13:16:56 2012
@@ -22,6 +22,13 @@ IF(NOT CPACK_COMMAND)
 	MESSAGE(FATAL_ERROR "Need CPack!")
 ENDIF(NOT CPACK_COMMAND)
 
+find_program(JAR_COMMAND jar)
+if(JAR_COMMAND)
+	message("Using JAR to repack bundles, bundles can be used by Apache ACE")
+else(JAR_COMMAND)
+    message("No JAR support, generated bundles are not usable for Apache ACE")
+endif(JAR_COMMAND)
+
 SET(CPACK_GENERATOR "ZIP")
 
 file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/bundles ${PROJECT_BINARY_DIR}/packages)
@@ -67,16 +74,25 @@ MACRO(bundle)
 	SET(__bundleConfig ${CMAKE_CURRENT_BINARY_DIR}/CPackConfig-${INT_BUNDLE_NAME}-bundle.cmake)
 	SET(BUNDLE_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR})
 	CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/CPackConfig.in ${__bundleConfig} @ONLY)
-	ADD_CUSTOM_COMMAND(TARGET ${INT_BUNDLE_NAME}
-	POST_BUILD
-		COMMAND ${CPACK_COMMAND} ARGS -C Debug --config ${__bundleConfig}
-	#	COMMAND mkdir -p ${PROJECT_BINARY_DIR}/ziptojar \;
-	#		cd ${PROJECT_BINARY_DIR}/ziptojar \;
-	#		jar -xf ${PROJECT_BINARY_DIR}/bundles/${INT_BUNDLE_NAME}.zip \;
-	#		jar -cfm ${PROJECT_BINARY_DIR}/bundles/${INT_BUNDLE_NAME}.zip META-INF/MANIFEST.MF .
\;
-	#		rm -rf ${PROJECT_BINARY_DIR}/ziptojar/*
-		WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/bundles
-	)
+
+	if(JAR_COMMAND)
+		ADD_CUSTOM_COMMAND(TARGET ${INT_BUNDLE_NAME}
+		POST_BUILD
+			COMMAND ${CPACK_COMMAND} ARGS -C Debug --config ${__bundleConfig}
+			COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/ziptojar
+			COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/ziptojar ${JAR_COMMAND} -xf ${PROJECT_BINARY_DIR}/bundles/${INT_BUNDLE_NAME}.zip
+			COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_BINARY_DIR}/ziptojar ${JAR_COMMAND} -cfm ${PROJECT_BINARY_DIR}/bundles/${INT_BUNDLE_NAME}.zip
META-INF/MANIFEST.MF .
+			COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_BINARY_DIR}/ziptojar
+			WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/bundles
+		)
+	else(JAR_COMMAND)
+		ADD_CUSTOM_COMMAND(TARGET ${INT_BUNDLE_NAME}
+		POST_BUILD
+			COMMAND ${CPACK_COMMAND} ARGS -C Debug --config ${__bundleConfig}
+			WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/bundles
+		)
+	endif(JAR_COMMAND)
+	
 	SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${PROJECT_BINARY_DIR}/bundles/${INT_BUNDLE_NAME}.zip)
 ENDMACRO(bundle)
 	

Modified: incubator/celix/trunk/examples/CMakeLists.txt
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/examples/CMakeLists.txt?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/examples/CMakeLists.txt (original)
+++ incubator/celix/trunk/examples/CMakeLists.txt Tue Nov 27 13:16:56 2012
@@ -17,22 +17,21 @@
 celix_subproject(EXAMPLES "Option to enable building the Examples" "OFF" DEPS FRAMEWORK LAUNCHER
SHELL_TUI LOG_WRITER DEPENDENCY_MANAGER)
 if (EXAMPLES)
     add_subdirectory(hello_world)
-    #add_subdirectory(mongoose)
+    add_subdirectory(mongoose)
     
-    #add_subdirectory(whiteboard)
-    #add_subdirectory(echo_service)
+    add_subdirectory(whiteboard)
+    add_subdirectory(echo_service)
     
-    #add_subdirectory(osgi-in-action/chapter04-correct-lookup)
-    #add_subdirectory(osgi-in-action/chapter04-correct-listener)
-    #add_subdirectory(osgi-in-action/chapter01-greeting-example)
-    #add_subdirectory(osgi-in-action/chapter04-paint-example)
+    add_subdirectory(osgi-in-action/chapter04-correct-lookup)
+    add_subdirectory(osgi-in-action/chapter04-correct-listener)
+    add_subdirectory(osgi-in-action/chapter01-greeting-example)
+    add_subdirectory(osgi-in-action/chapter04-paint-example)
     
-    #deploy(chapter01-greeting-example BUNDLES shell shell_tui log_service chapter01-greeting-example-client
chapter01-greeting-example)
-    #deploy(chapter04-correct-listener BUNDLES shell shell_tui log_service chapter04-correct-listener)
-    #deploy("chapter04-paint-example" BUNDLES chapter04-paint-example circle square triangle
shell shell_tui log_service log_writer)
+    deploy(chapter01-greeting-example BUNDLES shell shell_tui log_service chapter01-greeting-example-client
chapter01-greeting-example)
+    deploy(chapter04-correct-listener BUNDLES shell shell_tui log_service chapter04-correct-listener)
     
     deploy("hello_world" BUNDLES shell shell_tui hello_world log_service)
-    #deploy("wb" BUNDLES tracker publisherA publisherB shell shell_tui log_service log_writer)
-    #deploy("wb_dp" BUNDLES tracker_depman publisherA publisherB shell shell_tui log_service
log_writer)
-    #deploy("echo" BUNDLES echo_server echo_client shell shell_tui log_service log_writer)
+    deploy("wb" BUNDLES tracker publisherA publisherB shell shell_tui log_service log_writer)
+    deploy("wb_dp" BUNDLES tracker_depman publisherA publisherB shell shell_tui log_service
log_writer)
+    deploy("echo" BUNDLES echo_server echo_client shell shell_tui log_service log_writer)
 endif(EXAMPLES)

Modified: incubator/celix/trunk/examples/osgi-in-action/chapter04-correct-listener/private/src/listener_example.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/examples/osgi-in-action/chapter04-correct-listener/private/src/listener_example.c?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/examples/osgi-in-action/chapter04-correct-listener/private/src/listener_example.c
(original)
+++ incubator/celix/trunk/examples/osgi-in-action/chapter04-correct-listener/private/src/listener_example.c
Tue Nov 27 13:16:56 2012
@@ -106,7 +106,7 @@ celix_status_t bundleActivator_start(voi
 				SERVICE_REFERENCE logService = (SERVICE_REFERENCE) arrayList_get(logServices, i);
 				SERVICE_EVENT event = apr_palloc(activator->pool, sizeof(*event));
 				event->reference = logService;
-				event->type = REGISTERED;
+				event->type = SERVICE_EVENT_REGISTERED;
 
 				listenerExample_serviceChanged(listener, event);
 			}
@@ -144,13 +144,13 @@ void listenerExample_serviceChanged(SERV
 	apr_thread_mutex_lock(activator->logServiceReferencesLock);
 
 	switch (event->type) {
-	case REGISTERED:
+	case SERVICE_EVENT_REGISTERED:
 		arrayList_add(activator->logServiceReferences, event->reference);
 		break;
 //	case MODIFIED:
 //		// only the service metadata has changed, so no need to do anything here
 //		break;
-	case UNREGISTERING:
+	case SERVICE_EVENT_UNREGISTERING:
 		arrayList_remove(activator->logServiceReferences,
 				arrayList_indexOf(activator->logServiceReferences, event->reference));
 		break;

Modified: incubator/celix/trunk/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt (original)
+++ incubator/celix/trunk/examples/osgi-in-action/chapter04-paint-example/CMakeLists.txt Tue
Nov 27 13:16:56 2012
@@ -15,8 +15,14 @@
 # specific language governing permissions and limitations
 # under the License.
 
-add_subdirectory(circle)
-add_subdirectory(paint)
-add_subdirectory(square)
-add_subdirectory(triangle)
-
+find_package(PkgConfig)
+if(PKG_CONFIG_EXECUTABLE)
+	add_subdirectory(circle)
+	add_subdirectory(paint)
+	add_subdirectory(square)
+	add_subdirectory(triangle)
+	
+	deploy("chapter04-paint-example" BUNDLES chapter04-paint-example circle square triangle
shell shell_tui log_service log_writer)
+else(PKG_CONFIG_EXECUTABLE)
+	MESSAGE("No GTK found, not building the Paint Example")	
+endif(PKG_CONFIG_EXECUTABLE)
\ No newline at end of file

Modified: incubator/celix/trunk/framework/private/src/framework.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/framework.c?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/framework.c (original)
+++ incubator/celix/trunk/framework/private/src/framework.c Tue Nov 27 13:16:56 2012
@@ -1476,7 +1476,7 @@ void fw_serviceChanged(FRAMEWORK framewo
 				event->reference = reference;
 
 				element->listener->serviceChanged(element->listener, event);
-			} else if (eventType == MODIFIED) {
+			} else if (eventType == SERVICE_EVENT_MODIFIED) {
 				bool matchResult = false;
 				int matched = 0;
 				if (element->filter != NULL) {
@@ -1490,7 +1490,7 @@ void fw_serviceChanged(FRAMEWORK framewo
 					serviceRegistry_createServiceReference(framework->registry, element->listener->pool,
registration, &reference);
 
 					endmatch->reference = reference;
-					endmatch->type = MODIFIED_ENDMATCH;
+					endmatch->type = SERVICE_EVENT_MODIFIED_ENDMATCH;
 					element->listener->serviceChanged(element->listener, endmatch);
 				}
 			}

Modified: incubator/celix/trunk/framework/private/src/service_registry.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/service_registry.c?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/service_registry.c (original)
+++ incubator/celix/trunk/framework/private/src/service_registry.c Tue Nov 27 13:16:56 2012
@@ -208,7 +208,7 @@ celix_status_t serviceRegistry_registerS
 //		SERVICE_EVENT event = (SERVICE_EVENT) malloc(sizeof(*event));
 //		event->type = REGISTERED;
 //		event->reference = (*registration)->reference;
-		registry->serviceChanged(registry->framework, REGISTEREDA, *registration, NULL);
+		registry->serviceChanged(registry->framework, SERVICE_EVENT_REGISTERED, *registration,
NULL);
 //		free(event);
 //		event = NULL;
 	}
@@ -235,7 +235,7 @@ void serviceRegistry_unregisterService(S
 	apr_thread_mutex_unlock(registry->mutex);
 
 	if (registry->serviceChanged != NULL) {
-		registry->serviceChanged(registry->framework, UNREGISTERING, registration, NULL);
+		registry->serviceChanged(registry->framework, SERVICE_EVENT_UNREGISTERING, registration,
NULL);
 	}
 
 	apr_thread_mutex_lock(registry->mutex);
@@ -554,7 +554,7 @@ celix_status_t serviceRegistry_getListen
 
 celix_status_t serviceRegistry_servicePropertiesModified(SERVICE_REGISTRY registry, SERVICE_REGISTRATION
registration, PROPERTIES oldprops) {
 	if (registry->serviceChanged != NULL) {
-		registry->serviceChanged(registry->framework, MODIFIED, registration, oldprops);
+		registry->serviceChanged(registry->framework, SERVICE_EVENT_MODIFIED, registration,
oldprops);
 	}
 
 	return CELIX_SUCCESS;

Modified: incubator/celix/trunk/framework/private/src/service_tracker.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/private/src/service_tracker.c?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/framework/private/src/service_tracker.c (original)
+++ incubator/celix/trunk/framework/private/src/service_tracker.c Tue Nov 27 13:16:56 2012
@@ -225,14 +225,14 @@ void *serviceTracker_getServiceByReferen
 void serviceTracker_serviceChanged(SERVICE_LISTENER listener, SERVICE_EVENT event) {
 	service_tracker_t tracker = listener->handle;
 	switch (event->type) {
-		case REGISTEREDA:
-		case MODIFIED:
+		case SERVICE_EVENT_REGISTERED:
+		case SERVICE_EVENT_MODIFIED:
 			serviceTracker_track(tracker, event->reference, event);
 			break;
-		case UNREGISTERING:
+		case SERVICE_EVENT_UNREGISTERING:
 			serviceTracker_untrack(tracker, event->reference, event);
 			break;
-		case MODIFIED_ENDMATCH:
+		case SERVICE_EVENT_MODIFIED_ENDMATCH:
 			break;
 	}
 }

Modified: incubator/celix/trunk/framework/public/include/service_event.h
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/framework/public/include/service_event.h?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/framework/public/include/service_event.h (original)
+++ incubator/celix/trunk/framework/public/include/service_event.h Tue Nov 27 13:16:56 2012
@@ -36,10 +36,10 @@ typedef struct serviceEvent * SERVICE_EV
 
 enum serviceEventType
 {
-	REGISTEREDA = 0x00000001,
-	MODIFIED = 0x00000002,
-	UNREGISTERING = 0x00000004,
-	MODIFIED_ENDMATCH = 0x00000008,
+	SERVICE_EVENT_REGISTERED = 0x00000001,
+	SERVICE_EVENT_MODIFIED = 0x00000002,
+	SERVICE_EVENT_UNREGISTERING = 0x00000004,
+	SERVICE_EVENT_MODIFIED_ENDMATCH = 0x00000008,
 };
 
 struct serviceEvent {

Modified: incubator/celix/trunk/shell/private/src/shell.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/shell/private/src/shell.c?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/shell/private/src/shell.c (original)
+++ incubator/celix/trunk/shell/private/src/shell.c Tue Nov 27 13:16:56 2012
@@ -158,7 +158,7 @@ void shell_removeCommand(SHELL shell, SE
 
 void shell_serviceChanged(SERVICE_LISTENER listener, SERVICE_EVENT event) {
 	SHELL shell = (SHELL) listener->handle;
-	if (event->type == REGISTEREDA) {
+	if (event->type == SERVICE_EVENT_REGISTERED) {
 		shell_addCommand(shell, event->reference);
 	}
 }

Modified: incubator/celix/trunk/shell_tui/private/src/shell_tui.c
URL: http://svn.apache.org/viewvc/incubator/celix/trunk/shell_tui/private/src/shell_tui.c?rev=1414173&r1=1414172&r2=1414173&view=diff
==============================================================================
--- incubator/celix/trunk/shell_tui/private/src/shell_tui.c (original)
+++ incubator/celix/trunk/shell_tui/private/src/shell_tui.c Tue Nov 27 13:16:56 2012
@@ -91,9 +91,9 @@ void shellTui_serviceChanged(SERVICE_LIS
 	bool result = NULL;
     SHELL_TUI_ACTIVATOR act = (SHELL_TUI_ACTIVATOR) listener->handle;
 
-	if ((event->type == REGISTEREDA) && (act->reference == NULL)) {
+	if ((event->type == SERVICE_EVENT_REGISTERED) && (act->reference == NULL))
{
 		shellTui_initializeService(act);
-	} else if ((event->type == UNREGISTERING) && (act->reference == event->reference))
{
+	} else if ((event->type == SERVICE_EVENT_UNREGISTERING) && (act->reference
== event->reference)) {
 		bundleContext_ungetService(act->context, act->reference, &result);
 		act->reference = NULL;
 		act->shell = NULL;



Mime
View raw message