@@ -13,6 +13,7 @@ use graph::{
13
13
} ;
14
14
use graph_core:: polling_monitor:: ipfs_service;
15
15
use graph_node:: {
16
+ dev:: watcher,
16
17
dev:: watcher:: { parse_manifest_args, watch_subgraphs} ,
17
18
launcher,
18
19
opt:: Opt ,
@@ -142,8 +143,8 @@ fn build_args(dev_opt: &DevOpt, db_url: &str) -> Result<Opt> {
142
143
143
144
opt. http_port = dev_opt. http_port ;
144
145
opt. admin_port = dev_opt. admin_port ;
145
- opt. metrics_port = dev_opt. admin_port ;
146
- opt. index_node_port = dev_opt. admin_port ;
146
+ opt. metrics_port = dev_opt. metrics_port ;
147
+ opt. index_node_port = dev_opt. index_node_port ;
147
148
148
149
Ok ( opt)
149
150
}
@@ -152,7 +153,7 @@ async fn run_graph_node(
152
153
logger : & Logger ,
153
154
opt : Opt ,
154
155
link_resolver : Arc < dyn LinkResolver > ,
155
- subgraph_updates_channel : Option < mpsc:: Receiver < ( DeploymentHash , SubgraphName ) > > ,
156
+ subgraph_updates_channel : mpsc:: Receiver < ( DeploymentHash , SubgraphName ) > ,
156
157
) -> Result < ( ) > {
157
158
let env_vars = Arc :: new ( EnvVars :: from_env ( ) . context ( "Failed to load environment variables" ) ?) ;
158
159
@@ -173,7 +174,7 @@ async fn run_graph_node(
173
174
env_vars,
174
175
ipfs_service,
175
176
link_resolver,
176
- subgraph_updates_channel,
177
+ Some ( subgraph_updates_channel) ,
177
178
)
178
179
. await ;
179
180
Ok ( ( ) )
@@ -235,14 +236,22 @@ async fn main() -> Result<()> {
235
236
parse_manifest_args ( dev_opt. manifests , dev_opt. sources , & logger) ?;
236
237
let file_link_resolver = Arc :: new ( FileLinkResolver :: new ( None , source_subgraph_aliases. clone ( ) ) ) ;
237
238
238
- let ( tx, rx) = dev_opt . watch . then ( || mpsc:: channel ( 1 ) ) . unzip ( ) ;
239
+ let ( tx, rx) = mpsc:: channel ( 1 ) ;
239
240
240
241
let logger_clone = logger. clone ( ) ;
241
242
graph:: spawn ( async move {
242
243
let _ = run_graph_node ( & logger_clone, opt, file_link_resolver, rx) . await ;
243
244
} ) ;
244
245
245
- if let Some ( tx) = tx {
246
+ if let Err ( e) =
247
+ watcher:: deploy_all_subgraphs ( & logger, & manifests_paths, & source_subgraph_aliases, & tx)
248
+ . await
249
+ {
250
+ error ! ( logger, "Error deploying subgraphs" ; "error" => e. to_string( ) ) ;
251
+ std:: process:: exit ( 1 ) ;
252
+ }
253
+
254
+ if dev_opt. watch {
246
255
graph:: spawn_blocking ( async move {
247
256
if let Err ( e) = watch_subgraphs (
248
257
& logger,
0 commit comments