from waflib.Task import Task
from waflib.TaskGen import extension

class gogobject(Task):
	run_str = '${GGG} ${GGGFLAGS} -o ${TGT[0].parent.abspath()} ${SRC}'

@extension('.go.in')
def gogobject_hook(self, node):
	tg = self.bld.get_tgen_by_name('go-gobject-gen')
	ggg = tg.link_task.outputs[0]

	if not self.env.GGG:
		self.env.GGG = ggg.abspath()

	go_out = node.change_ext('')
	c_out = go_out.change_ext('.gen.c')
	h_out = go_out.change_ext('.gen.h')
	task = self.create_task('gogobject', node, [go_out, c_out, h_out])
	task.dep_nodes = [ggg]
	return task

from waflib.Task import Task
from waflib.TaskGen import extension

class gogobject(Task):
	run_str = '${GGG} ${GGGFLAGS} -o ${TGT[0].parent.abspath()} ${SRC}'

@extension('.go.in')
def gogobject_hook(self, node):
	tg = self.bld.get_tgen_by_name('go-gobject-gen')
	ggg = tg.link_task.outputs[0]

	if not self.env.GGG:
		self.env.GGG = ggg.abspath()

	go_out = node.change_ext('')
	c_out = go_out.change_ext('.gen.c')
	h_out = go_out.change_ext('.gen.h')
	task = self.create_task('gogobject', node, [go_out, c_out, h_out])
	task.dep_nodes = [ggg, node.parent.find_node('config.json')]
	return task

Use config.json as a go-gobject-gen dependency as well.
Use config.json as a go-gobject-gen dependency as well.

  from waflib.Task import Task
  from waflib.TaskGen import extension
  
  class gogobject(Task):
  	run_str = '${GGG} ${GGGFLAGS} -o ${TGT[0].parent.abspath()} ${SRC}'
  
  @extension('.go.in')
  def gogobject_hook(self, node):
  	tg = self.bld.get_tgen_by_name('go-gobject-gen')
  	ggg = tg.link_task.outputs[0]
  
  	if not self.env.GGG:
  		self.env.GGG = ggg.abspath()
  
  	go_out = node.change_ext('')
  	c_out = go_out.change_ext('.gen.c')
  	h_out = go_out.change_ext('.gen.h')
  	task = self.create_task('gogobject', node, [go_out, c_out, h_out])
- 	task.dep_nodes = [ggg]
+ 	task.dep_nodes = [ggg, node.parent.find_node('config.json')]
  	return task
  
Use config.json as a go-gobject-gen dependency as well.
## Code Before:
from waflib.Task import Task
from waflib.TaskGen import extension

class gogobject(Task):
	run_str = '${GGG} ${GGGFLAGS} -o ${TGT[0].parent.abspath()} ${SRC}'

@extension('.go.in')
def gogobject_hook(self, node):
	tg = self.bld.get_tgen_by_name('go-gobject-gen')
	ggg = tg.link_task.outputs[0]

	if not self.env.GGG:
		self.env.GGG = ggg.abspath()

	go_out = node.change_ext('')
	c_out = go_out.change_ext('.gen.c')
	h_out = go_out.change_ext('.gen.h')
	task = self.create_task('gogobject', node, [go_out, c_out, h_out])
	task.dep_nodes = [ggg]
	return task

## Instruction:
Use config.json as a go-gobject-gen dependency as well.
## Code After:
from waflib.Task import Task
from waflib.TaskGen import extension

class gogobject(Task):
	run_str = '${GGG} ${GGGFLAGS} -o ${TGT[0].parent.abspath()} ${SRC}'

@extension('.go.in')
def gogobject_hook(self, node):
	tg = self.bld.get_tgen_by_name('go-gobject-gen')
	ggg = tg.link_task.outputs[0]

	if not self.env.GGG:
		self.env.GGG = ggg.abspath()

	go_out = node.change_ext('')
	c_out = go_out.change_ext('.gen.c')
	h_out = go_out.change_ext('.gen.h')
	task = self.create_task('gogobject', node, [go_out, c_out, h_out])
	task.dep_nodes = [ggg, node.parent.find_node('config.json')]
	return task
