Skip to content

Commit

Permalink
Merge pull request #642 from grahammendick/auto-link
Browse files Browse the repository at this point in the history
  • Loading branch information
grahammendick authored Sep 18, 2022
2 parents 1cfa6ee + 159a56e commit 74ca894
Show file tree
Hide file tree
Showing 61 changed files with 308 additions and 149 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ build/npm/**/ios
build/npm/**/cpp
build/npm/**/Native*Module.js
build/npm/**/*NativeComponent.js
build/npm/**/react-native.config.js
npm-debug.log
node_modules
!Navigation*/src/node_modules
Expand Down
7 changes: 0 additions & 7 deletions NavigationReactNative/src/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,3 @@ dependencies {
implementation 'androidx.viewpager2:viewpager2:1.0.0'
}

if (isNewArchitectureEnabled()) {
react {
jsRootDir = file("../")
libraryName = "navigation-react-native"
codegenJavaPackageName = "com.navigation.reactnative"
}
}
58 changes: 58 additions & 0 deletions NavigationReactNative/src/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

cmake_minimum_required(VERSION 3.13)
set(CMAKE_VERBOSE_MAKEFILE on)

file(
GLOB react_codegen_SRCS CONFIGURE_DEPENDS
*.cpp
react/renderer/components/navigationreactnative/*.cpp
../android/build/generated/source/codegen/jni/react/renderer/components/navigationreactnative/*.cpp
)

add_library(
react_codegen_navigationreactnative
SHARED
${react_codegen_SRCS}
)

target_include_directories(
react_codegen_navigationreactnative
PUBLIC
.
react/renderer/components/navigationreactnative
../android/build/generated/source/codegen/jni
../android/build/generated/source/codegen/jni/react/renderer/components/navigationreactnative
)

target_link_libraries(
react_codegen_navigationreactnative
fbjni
folly_runtime
glog
jsi
react_codegen_rncore
react_debug
react_nativemodule_core
react_render_core
react_render_mapbuffer
react_render_imagemanager
react_render_debug
react_render_graphics
rrc_view
turbomodulejsijni
yoga
)

target_compile_options(
react_codegen_navigationreactnative
PRIVATE
-DLOG_TAG=\"ReactNative\"
-fexceptions
-frtti
-std=c++17
-Wall
)
34 changes: 34 additions & 0 deletions NavigationReactNative/src/cpp/navigationreactnative.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@

/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GenerateModuleJniCpp.js
*/

#include "navigationreactnative.h"

namespace facebook {
namespace react {

static facebook::jsi::Value __hostFunction_NativeMaterial3ModuleSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
static jmethodID cachedMethodId = nullptr;
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, ObjectKind, "getConstants", "()Ljava/util/Map;", args, count, cachedMethodId);
}

NativeMaterial3ModuleSpecJSI::NativeMaterial3ModuleSpecJSI(const JavaTurboModule::InitParams &params)
: JavaTurboModule(params) {
methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeMaterial3ModuleSpecJSI_getConstants};
}

std::shared_ptr<TurboModule> navigationreactnative_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params) {
if (moduleName == "Material3") {
return std::make_shared<NativeMaterial3ModuleSpecJSI>(params);
}
return nullptr;
}

} // namespace react
} // namespace facebook
38 changes: 38 additions & 0 deletions NavigationReactNative/src/cpp/navigationreactnative.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GenerateModuleJniH.js
*/

#pragma once

#include <ReactCommon/JavaTurboModule.h>
#include <ReactCommon/TurboModule.h>
#include <jsi/jsi.h>
#include <react/renderer/components/navigationreactnative/NVActionBarComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVBarButtonComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVSearchBarComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVTabBarItemComponentDescriptor.h>
#include <react/renderer/components/navigationreactnative/NVTitleBarComponentDescriptor.h>

namespace facebook {
namespace react {

/**
* JNI C++ class for module 'NativeMaterial3Module'
*/
class JSI_EXPORT NativeMaterial3ModuleSpecJSI : public JavaTurboModule {
public:
NativeMaterial3ModuleSpecJSI(const JavaTurboModule::InitParams &params);
};


JSI_EXPORT
std::shared_ptr<TurboModule> navigationreactnative_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params);

} // namespace react
} // namespace facebook
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#pragma once

#include "NVActionBarState.h"
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>

namespace facebook {
namespace react {

extern const char NVActionBarComponentName[];
JSI_EXPORT extern const char NVActionBarComponentName[];

class NVActionBarShadowNode final : public ConcreteViewShadowNode<
class JSI_EXPORT NVActionBarShadowNode final : public ConcreteViewShadowNode<
NVActionBarComponentName,
NVActionBarProps,
NVActionBarEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
namespace facebook {
namespace react {

class NVActionBarState final {
class JSI_EXPORT NVActionBarState final {
public:
using Shared = std::shared_ptr<const NVActionBarState>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

#include "NVBarButtonState.h"
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/imagemanager/ImageManager.h>

namespace facebook {
namespace react {

extern const char NVBarButtonComponentName[];
JSI_EXPORT extern const char NVBarButtonComponentName[];

class NVBarButtonShadowNode final: public ConcreteViewShadowNode<
class JSI_EXPORT NVBarButtonShadowNode final: public ConcreteViewShadowNode<
NVBarButtonComponentName,
NVBarButtonProps,
NVBarButtonEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#pragma once

#include "NVSearchBarState.h"
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>

namespace facebook {
namespace react {

extern const char NVSearchBarComponentName[];
JSI_EXPORT extern const char NVSearchBarComponentName[];

class NVSearchBarShadowNode final : public ConcreteViewShadowNode<
class JSI_EXPORT NVSearchBarShadowNode final : public ConcreteViewShadowNode<
NVSearchBarComponentName,
NVSearchBarProps,
NVSearchBarEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
namespace facebook {
namespace react {

class NVSearchBarState final {
class JSI_EXPORT NVSearchBarState final {
public:
using Shared = std::shared_ptr<const NVSearchBarState>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

#include "NVTabBarItemState.h"
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/imagemanager/ImageManager.h>

namespace facebook {
namespace react {

extern const char NVTabBarItemComponentName[];
JSI_EXPORT extern const char NVTabBarItemComponentName[];

class NVTabBarItemShadowNode final: public ConcreteViewShadowNode<
class JSI_EXPORT NVTabBarItemShadowNode final: public ConcreteViewShadowNode<
NVTabBarItemComponentName,
NVTabBarItemProps,
NVTabBarItemEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#pragma once

#include "NVTitleBarState.h"
#include <react/renderer/components/navigation-react-native/EventEmitters.h>
#include <react/renderer/components/navigation-react-native/Props.h>
#include <react/renderer/components/navigationreactnative/EventEmitters.h>
#include <react/renderer/components/navigationreactnative/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>

namespace facebook {
namespace react {

extern const char NVTitleBarComponentName[];
JSI_EXPORT extern const char NVTitleBarComponentName[];

class NVTitleBarShadowNode final : public ConcreteViewShadowNode<
class JSI_EXPORT NVTitleBarShadowNode final : public ConcreteViewShadowNode<
NVTitleBarComponentName,
NVTitleBarProps,
NVTitleBarEventEmitter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
namespace facebook {
namespace react {

class NVTitleBarState final {
class JSI_EXPORT NVTitleBarState final {
public:
using Shared = std::shared_ptr<const NVTitleBarState>;

Expand Down
10 changes: 5 additions & 5 deletions NavigationReactNative/src/ios/NVActionBarComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVActionBarComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <navigation-react-native/NVActionBarComponentDescriptor.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>
#import <NVActionBarComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
10 changes: 5 additions & 5 deletions NavigationReactNative/src/ios/NVBarButtonComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVBarButtonComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>
#import <react/renderer/imagemanager/ImageResponseObserverCoordinator.h>
#import <navigation-react-native/NVBarButtonComponentDescriptor.h>
#import <NVBarButtonComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"
#import <React/RCTFont.h>
Expand Down
8 changes: 4 additions & 4 deletions NavigationReactNative/src/ios/NVBottomAppBarComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVBottomAppBarComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
8 changes: 4 additions & 4 deletions NavigationReactNative/src/ios/NVBottomSheetComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVBottomSheetComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
8 changes: 4 additions & 4 deletions NavigationReactNative/src/ios/NVCollapsingBarComponentView.mm
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVCollapsingBarComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVCoordinatorLayoutComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import "NVExtendedFloatingActionButtonComponentView.h"

#import <react/renderer/components/navigation-react-native/ComponentDescriptors.h>
#import <react/renderer/components/navigation-react-native/EventEmitters.h>
#import <react/renderer/components/navigation-react-native/Props.h>
#import <react/renderer/components/navigation-react-native/RCTComponentViewHelpers.h>
#import <react/renderer/components/navigationreactnative/ComponentDescriptors.h>
#import <react/renderer/components/navigationreactnative/EventEmitters.h>
#import <react/renderer/components/navigationreactnative/Props.h>
#import <react/renderer/components/navigationreactnative/RCTComponentViewHelpers.h>

#import "RCTFabricComponentsPlugins.h"

Expand Down
Loading

0 comments on commit 74ca894

Please sign in to comment.