code: def construct(self, data):
  		
  		occurrences = {}
  		main_occurrences = {}
  
  		# occurrences of devel packages
  		for pkg in data["data"]["dependencies"]:
  			package = pkg["package"]
  			for item in pkg["dependencies"]:
  				dep = item["name"]
  				if package != ".":
  					deps = map(lambda l: "%s/%s" % (package, l), item["location"])
  				else:
  					deps = item["location"]
  				if dep not in occurrences:
  					occurrences[dep] = deps
  				else:
  					occurrences[dep] = occurrences[dep] + deps
  
  		self.occurrences = occurrences
  
  		# occurrences of main packages
  		for main in data["data"]["main"]:
  			filename = main["filename"]
  			for dep in main["dependencies"]:
  				if dep not in main_occurrences:
  					main_occurrences[dep] = [filename]
  				else:
  					main_occurrences[dep].append(filename)
  
  		self.main_occurrences = main_occurrences
  	
  		# test directories
  		self.test_directories = sorted(map(lambda l: l["test"], data["data"]["tests"]))
  
  		# provided devel packages
  		self.provided_packages = sorted(data["data"]["packages"])
  
  		# imported paths in devel packages
  		imported_packages = []
  		imported_native_packages = []
  		for path in occurrences:
  			try:
  				self.ipparser.parse(path)
  			except ValueError:
  				continue
  
  			if self.ipparser.isNative():
  				imported_native_packages.append(path)
  			else:
  				imported_packages.append(path)
  
  		self.imported_packages = sorted(imported_packages)
  		self.imported_native_packages = sorted(imported_native_packages)
  
  		# main packages
  		self.main_packages = map(lambda l: l["filename"], data["data"]["main"])
docs: Construct info about a project from artefact
  
  		:param data:	golang-project-packages artefact
  		:type  data:	json/dict