Skip to content

Commit c281cf6

Browse files
committed
feat: allow rust project to override the environment file path
1 parent fbf6939 commit c281cf6

File tree

6 files changed

+12
-1
lines changed

6 files changed

+12
-1
lines changed

core/src/generator/build.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ serde = {{ version = "1.0.194", features = ["derive"] }}
440440
let manifest_path = path.join("rindexer.yaml");
441441
let result = start_rindexer(StartDetails {
442442
manifest_path: &manifest_path,
443+
override_environment_path: None,
443444
indexing_details: if enable_indexer {
444445
Some(IndexingDetails {
445446
registry: register_all_handlers(&manifest_path).await,

core/src/indexer/no_code.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ pub async fn setup_no_code(
8484
if !details.indexing_details.enabled {
8585
return Ok(StartDetails {
8686
manifest_path: details.manifest_path,
87+
// TODO: enable ability to override this for no-code projects
88+
override_environment_path: None,
8789
indexing_details: None,
8890
graphql_details: details.graphql_details,
8991
});
@@ -115,6 +117,8 @@ pub async fn setup_no_code(
115117

116118
Ok(StartDetails {
117119
manifest_path: details.manifest_path,
120+
// TODO: enable ability to override this for no-code projects
121+
override_environment_path: None,
118122
indexing_details: Some(IndexingDetails { registry }),
119123
graphql_details: details.graphql_details,
120124
})

core/src/start.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ pub struct IndexingDetails {
3232

3333
pub struct StartDetails<'a> {
3434
pub manifest_path: &'a PathBuf,
35+
pub override_environment_path: Option<&'a PathBuf>,
3536
pub indexing_details: Option<IndexingDetails>,
3637
pub graphql_details: GraphqlOverrideSettings,
3738
}
@@ -78,7 +79,9 @@ pub async fn start_rindexer(details: StartDetails<'_>) -> Result<(), StartRindex
7879
let project_path = details.manifest_path.parent();
7980
match project_path {
8081
Some(project_path) => {
81-
load_env_from_path(project_path);
82+
let env_path =
83+
details.override_environment_path.map(PathBuf::as_path).unwrap_or(project_path);
84+
load_env_from_path(env_path);
8285
let manifest = Arc::new(read_manifest(details.manifest_path)?);
8386

8487
if manifest.project_type != ProjectType::NoCode {

documentation/docs/pages/docs/changelog.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
- feat: expose postgres ToSql trait
1111
- feat: support with_transaction in postgres client
1212
- feat: get the block timestamp from the RPC call (its an option as not all providers expose it)
13+
- feat: allow rust project to override the environment file path
1314

1415
### Bug fixes
1516
-------------------------------------------------

documentation/docs/pages/docs/start-building/rust-project-deep-dive/indexers.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -992,6 +992,7 @@ async fn main() {
992992
let manifest_path = path.join("rindexer.yaml");
993993
let result = start_rindexer(StartDetails {
994994
manifest_path: &manifest_path,
995+
override_environment_path: None,
995996
indexing_details: if enable_indexer {
996997
Some(IndexingDetails {
997998
registry: register_all_handlers(&manifest_path).await,

rindexer_rust_playground/src/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ async fn main() {
5555
let manifest_path = path.join("rindexer.yaml");
5656
let result = start_rindexer(StartDetails {
5757
manifest_path: &manifest_path,
58+
override_environment_path: None,
5859
indexing_details: if enable_indexer {
5960
// EventCallbackRegistry { events: vec![] }
6061
Some(IndexingDetails { registry: register_all_handlers(&manifest_path).await })

0 commit comments

Comments
 (0)